Tag: mongodb

Mongo C#驱动程序2.0 – 无需获取文档即可查找计数

一般计数查询将执行a int count = collection.Find(filter).Count(); 现在按照filter加载所有记录,所以我说我有100万条记录,其中有50万条与我的filter匹配,所以我的集合已经填满了0.5个文档。 如果你想要这些文件就足够了,但是如果你只是想知道计数而不是真的需要这些文件呢? 我可以这样做吗? int count = collection.Find(filter).SetLimit(1).Count(); 这给了我与第一个表达式相同的计数,但我希望内存不会被用作第一个表达式,帮助我知道找到“计数”的正确方法而不加载所有文档。 谢谢。

选择不同的mongodb C#

我必须从简单的mongo db数据库中选择不同的记录。 我有很多简单的记录,这些记录看起来像这样: {“word”:”some text”} 我的代码非常简单。 const string connectionString = “mongodb://localhost”; var client = new MongoClient(connectionString); MongoServer server = client.GetServer(); MongoDatabase database = server.GetDatabase(“text8”); MongoCollection collection = database.GetCollection(“text8”); MongoCursor words = (MongoCursor)collection.FindAll(); 但我不知道如何从数据库中选择不同的单词。 有人可以给我一些建议吗?

将元素插入Mongodb中的嵌套数组中

我有这个 : { “_id” : ObjectId(“4fb4fd04b748611ca8da0d48”), “Name” : “Categories”, “categories” : [{ “_id” : ObjectId(“4fb4fd04b748611ca8da0d46”), “name” : “SubCategory”, “sub-categories” : [{ “_id” : ObjectId(“4fb4fd04b748611ca8da0d47”), “name” : “SubSubCategory”, “standards” : [] }] }] } 我想使用C#驱动程序添加一个新的SubCategory 。 有最佳方​​法吗?

在尝试解析序列化的JSON字符串时处理MongoDB的ISODate()

我通过官方C#驱动程序使用MongoDB和ASP.NET MVC网站。 我有以下C#模型: public class Contact { public ObjectId Id { get; set; } public string Name { get; set; } public DateTime DateAdded { get; set; } } 从MongoDB中提取并通过MVC序列化为JSON字符串时,如下所示: { “_id” : ObjectId(“52eaad4839b60812fca4bf28”), “Name”: “Joe Blow”, “DateAdded” : ISODate(“2014-01-30T19:51:35.977Z”) } 当我尝试通过JSON.parse()将其从JSON字符串转换为浏览器上的Javascript对象时,我收到以下错误: Uncaught SyntaxError: Unexpected token I 这是因为ISODate(…)不是有效的JSON ObjectId()也不是有效的JSON,但我正在处理的方法是在JSON字符串上执行string.replace()之前在客户端上解析它。 我考虑过为ISODate()做同样的ISODate()但感觉有点过于hacky。 如果不在客户端使用正则表达式,我能做些什么吗? 也许来自MongoDB驱动程序的东西?

如何使用官方MongoDB C#驱动程序将BsonDocument转换为强类型对象?

出于unit testing的目的,我想测试我的类映射,而无需在MongoDB数据库中读取和写入文档。 为了处理特殊情况,例如循环父/子引用和只读属性,我使用了BsoncClassMap.RegisterClassMap(…) ,其中一些自定义映射覆盖了默认的AutoMap(); 生成的映射。 有没有人知道如何将BsonDocument转换为所需的强类型对象而不进行数据库往返? 当进出数据存储时,驱动程序正在执行此操作。 我的目标是使用MongoDB C#驱动程序在内部使用的相同逻辑来测试与C#域对象之间的序列化到BsonDocument。 我能够使用Bson扩展方法ToBsonDocument()将C#对象转换为BsonDocument吗? 我缺少的那个部分与过程相反 – 本质上是一个BsonDocument.ToObject(); 。 这是官方MongoDB C#驱动程序的最新版本吗? 它似乎应该是 – 我想知道我是否只是失明并且错过了显而易见的事情。

MongoDb自定义集合序列化器

我有四个简单的课程 public class Zoo{ public ObjectId Id { get; set; } public List Animals { get; set; } } public class Animal{ public ObjectId Id { get; set; } public string Name { get; set; } } public class Tiger : Animal{ public double Height { get; set; } } public class Zebra : Animal{ […]

修补REST API以部分更新.NET中的MongoDB

我有一个对象 { “_id”: “testobject”, “A”: “First line”, “B”: “Second line”, “C”: “Third line” } 我想向我的API发送一个REST PATCH请求,只更新其中一个属性 { “_id”: “testobject”, “C”: “Forth line” } 这会被解析成一个类 public class SomeObject { public string A { get; set; } public string B { get; set; } public string C { get; set; } } 我现在需要更新MongoDB中的现有文档,但只更新属性C 我可以为这一条记录创建一个更新定义 UpdateDefinition update = […]

MongoDB Norm查询嵌套对象

有没有人有一个如何使用NORM(C#)在MongoDB中查询嵌套/内部对象的示例? 例如,如果集合中的典型文档看起来像Order / OrderItems,我如何通过OrderItem.Quantity> 10查找特定的OrderItem。

如何备份和恢复Mongodb数据库

如何使用C#备份和恢复Mongodb数据库? 目前只有一个服务器来保存mongodb数据,我想在服务器被销毁的情况下进行备份,以便我可以恢复它。 任何人都知道如何使用C#做到这一点?

MongoDB全文搜索

创建索引 db.MyCollection.createIndex({‘$**’: ‘text’}, {name: ‘FullTextIndex’}) 搜索匹配 db.MyCollection.find({$text: {$search: ‘myWord’}}).count() 对于具有“ myWord is here ”值的字段,结果为1. 如果我经常搜索所选字段如下,我得到两条记录,一条记录有Name =“ myWord就在这里 ”,第二条记录在详细信息中有“ myWord ”字样为“ 这里的东西,myWord就在这里 ” db.getCollection(‘MyCollection’).find({ “$or”:[{“Name”:/myWord/i}, {“Details”:/myWord/i}] }).sort({“Name”: 1}) 如何重新创建索引,以便在所有字段中搜索SQL,其中包含%searchText%等字段 最后,我如何在C#Driver中编写此搜索查询 更新: 我进一步调查了它。 它找到所有带有前缀和后缀空格的搜索键的结果,但不是单词中字符串的一部分。 示例它返回值“ Hello myWord is here ”的记录,但不返回“ HellomyWord ” 但根据这份文件,它必须支持通配符搜索。 https://docs.mongodb.com/v3.0/reference/operator/query/text/