Tag: mongodb

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

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

MongoDB:自动生成的ID为零

我正在使用MongoDB和官方C#驱动程序0.9 我只是在检查嵌入简单文档的工作原理。 有2个简单的课程: public class User { public ObjectId _id { get; set; } public string Name { get; set; } public IEnumerable Addresses { get;set; } } public class Address { public ObjectId _id { get; set; } public string Street { get; set; } public string House { get; set; } } 我创建了一个新用户: […]

何时使用Ninject和MongoDB使用Singleton vs Transient vs Request

当我在global.cs文件中进行绑定时,我不太确定何时应该使用SingletonScope()vs TransientScope()vs RequestScope()。 我有一个例如我对MongoSession的调用(使用NoRM和mvcStarter项目http://mvcstarter.codeplex.com/ ),它设置为SingletonScope但是我创建了一个使用这个MongoSession对象的存储库来简化对Mongo的调用,例如,我有一个NewsRepository,它使用MongoSession从数据中获取我的新闻项。 作为一个例子,我有一个调用,它获取DisplayOnHome设置为true的新闻项目,并通过CreationDate获取最新项目。 这样的存储库应该是SingletonScope还是RequestScope会更合适? 我什么时候应该使用它们?为什么?

为什么我不能在异步方法中调试代码?

我实际上开始尝试了解有关MongoDB的更多信息,但是我已经挂断了.NET等待/异步的东西。 我正在尝试实现MongoDB 网站上显示的代码。 我不得不稍微修改它,所以我可以让我的程序编译。 我知道有以下我的控制台应用程序。 protected static IMongoClient _client; protected static IMongoDatabase _database; static void Main(string[] args) { _client = new MongoClient(); _database = _client.GetDatabase(“test”); GetDataAsync(); } private static async void GetDataAsync() //method added by me. { int x = await GetData(); } private static async Task GetData() { var collection = _database.GetCollection(“restaurants”); var filter […]

使用官方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”, […]

mongodb c#如何使用BSON文档

我花了很多时间寻找答案……这在PHP中很容易,但我不能把它放在C#中(我是C#和mongo的新手……)我正在尝试迭代存储文档的所有级别。 该文件如下: { “_id” : ObjectId(“51f90101853bd88971ecdf27”), “fields” : [{ “ID” : ObjectId(“51fd09498b080ee40c00514e”), “NAME” : “ID”, “TYPE” : “Text” }, { “ID” : ObjectId(“51fd09a68b080ee40c0064db”), “NAME” : “Title”, “TYPE” : “Text” }, { “ID” : ObjectId(“51fd09b28b080ee40c004d31”), “NAME” : “Start Date”, “TYPE” : “Date” }, { “ID” : ObjectId(“51fd09c28b080ee40c007f2e”), “NAME” : “Long Description”, “TYPE” : “Memo” }], “name” […]

从c#到mongodb正确插入DateTime

我尝试在MongoDB中插入本地时间 var time = DateTime.Now; // 03.05.2014 18:30:30 var query = new QueryDocument { { “time”, nowTime} }; collection3.Insert(query); 但在数据库中我看到ISODate(“2014-05-03T15:30:30.170Z”) , 必须是ISODate(“2014-05-03T18:30:30.300Z”) 。 请帮我!

使用POCO和mongodb c#驱动程序时如何管理_id字段

如果我想用POCO读写mongo数据 public class Thingy { public string Foo {get;set;} } … coll.Insert(new Thing(Foo = “hello”)); 当我回读时,我得到一个失败,说_id是一个意外的属性(它是)。 然后我在课堂上添加了一个名为_id的字段。 现在插入不起作用,说_id字段不能为null。 一个尝试过的BsonIgnoreIfNull属性,它没有用。

使用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#驱动程序可用。 哪一个是最成熟稳定的? 你为什么选择其他两个呢? 他们生产准备好了吗?