Tag: mongodb .net driver

在更新文档中的数组时,如何在MongoDB和C#中使用$ push update修饰符

我在mongo shell中运行以下代码: db.unicorns.insert({name: ‘Dunx’, loves: [‘grape’, ‘watermelon’]}); 现在我在MongoDB集合中有类似的东西: {name: ‘Dunx’, loves: [‘grape’, ‘watermelon’]} 正如你所看到的, loves是一个arrays。 题 如何使用官方C#驱动程序编写C#代码,执行以下操作: db.unicorns.update({name: ‘Aurora’}, {$push: {loves: ‘sugar’}}) 上面的代码在mongo shell中运行得很好。

MongoDb的C#驱动程序:如何使用limit + count?

从MongoDb文档:“ 在使用skip()和limit()的查询中,count默认忽略这些参数。使用count(true)让它考虑计算中的跳过和限制值。 ”这正是我需要计算的数量为特定查询生成元素,直到超过1000定义的限制,但我没有看到任何方法在c#驱动程序中执行此操作。 IMongoColor的IMongoCollection和SetCount的计数都是无参数的。 任何的想法?

使用官方C#驱动程序更新MongoDB中的嵌入式文档

如果我有一个包含嵌入式部门的公司集合: { “_id”: 1 “_t”: “Company”, “Name”: “Test Company” “Divisions”: [ { “_id”: 1 “_t”: “Division”, “Name”: “Test Division 1” }, { “_id”: 2 “_t”: “Division”, “Name”: “Test Division 2” } ] } 使用官方10gen C#驱动程序时保存/更新整个部门的最佳方法是什么? (最新的0.9版本。) 我正在使用Update.AddToSetWrapped来添加Divisions,这很好用,但我也希望能够根据它们的_id更新文档。 例如,如果我定义以下Update方法: public void UpdateDivision(IDivision division) { var mongo = MongoServer.Create(_connectionString); var database = mongo.GetDatabase(_databaseName); var query = Query.EQ(“_id”, […]

使用C#创建MongoDB唯一键

我与MongoDB共计n00b,我正在努力创建一个独特的字段EmailAddress 。 我已经在论坛上看到我必须创建一个索引,但到目前为止它对我来说都没有用。 有没有人有代码示例? 我是否必须在每次保存/调用时创建索引,还是只创建一次? 我试过这段代码: DB.GetCollection(Dbname) .EnsureIndex(new IndexKeysBuilder() .Ascending(“EmailAddress”), IndexOptions.SetUnique(true)); DB.GetCollection(Dbname).Save(user, SafeMode.True); 我的User模型如下所示: public class User { [Required(ErrorMessage = “Email Required”)] public string EmailAddress { get; set; } public ObjectId Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } }

C#最成熟的MongoDB驱动程序是什么?

所以,有 MongoDB的-CSHARP 简单的MongoDB 规范 作为MongoDB的C#驱动程序可用。 哪一个是最成熟稳定的? 你为什么选择其他两个呢? 他们生产准备好了吗?

如何将BsonDocument对象反序列化回类

从服务器获取后,如何将BsonDocument对象反序列化回类? QueryDocument _document = new QueryDocument(“key”, “value”); MongoCursor _documentsReturned = _collection.FindAs(_document); foreach (BsonDocument _document1 in _documentsReturned) { //deserialize _document1 //? } 我是否使用BsonReader进行反序列化?

如何在MongoDB C#Driver 2.0中记录我的查询?

刚刚将我的应用程序升级到最新的稳定MongoDB C#Driver 2.0。 在迁移过程中,基本function已被破坏,即使是最简单的查询,例如: this.collection.Find(e => e.Id == id).SingleOrDefaultAsync()也不会返回正确的数据。 检查了类映射和约定,但我希望看到输出查询以正确识别问题。 那么,应该如何在MongoClient端完成? 在数据库级别设置分析是可能的,但不是一个好的解决方案,因为我们有几个应用程序和开发人员使用数据库。 我的应用程序目前在UI,业务和EF数据访问中使用Ninject.Extensions.Logging和log4net 。

如何使用c#2.0驱动程序将数据插入mongodb集合?

我在我的c#控制台应用程序中使用MongoClient连接到MongoDB https://github.com/mongodb/mongo-csharp-driver/releases/tag/v2.0.0-rc0 我的代码 class Program { static void Main(string[] args) { const string connectionString = “mongodb://localhost:27017”; // Create a MongoClient object by using the connection string var client = new MongoClient(connectionString); //Use the MongoClient to access the server var database = client.GetDatabase(“test”); var collection = database.GetCollection(“entities”); var entity = new Entity { Name = “Tom” […]

MongoDB .NET在upsert上没有生成_id

我正在尝试使用.NET驱动程序将文档插入MongoDB 2.4.4。 似乎不会在upserts上自动生成_id ,尽管它在普通插入上正确生成了_id 。 如何让驱动程序正确生成_id ? 这是一个展示问题的小例子。 public class MongoObject { [BsonId(IdGenerator = typeof(StringObjectIdGenerator))] [BsonRepresentation(BsonType.ObjectId)] public string MongoID { get; set; } public int Index { get; set; } } var obj = new MongoObject() { Index = 1 }; //This inserts the document, but with a _id set to Null _collection.Update(Query.EQ(“Index”, BsonValue.Create(1)), Update.Replace(obj), […]

我如何与C#和MongoDB’和’多个$ elemMatch子句?

我使用10Gen认可的c#驱动程序用于mongoDB用于ac#应用程序和数据浏览我正在使用Mongovue。 以下是两个示例文档架构: { “_id”: { “$oid”: “4ded270ab29e220de8935c7b” }, “Relationships”: [ { “RelationshipType”: “Person”, “Attributes”: { “FirstName”: “Travis”, “LastName”: “Stafford” } }, { “RelationshipType”: “Student”, “Attributes”: { “GradMonth”: “”, “GradYear”: “”, “Institution”: “Test1”, } }, { “RelationshipType”: “Staff”, “Attributes”: { “Department”: “LIS”, “OfficeNumber”: “12”, “Institution”: “Test2”, } } ] }, { “_id”: { “$oid”: “747ecc1dc1a79abf6f37fe8a” }, […]