草庐IT

mongodb-csharp

全部标签

C# Mongodb 驱动程序 : Translate Action into an UpdateDefinition

我正在尝试将更新推广到我的mongodb,这样我就可以更新我的数据-存储不可知。使用EntityFramework,这非常容易,因为它具有更改跟踪功能,因此我可以将业务逻辑和特定于数据库的操作分开。至于MongoDb,就没那么容易了,因为我必须创建这些UpdateDefinitions,才能对文档进行更新。模仿此操作的一种简单方法是使用ReplaceOneAsync,但这不是一种选择,因为不止一方可能同时写入我的集合。例如,我在我的应用程序中将它用于聊天系统。我想做这样的事情:publicclassMongoActionWrapper{publicMongoActionWrapper(

mongodb - 如何按mongo中的任意列表对对象数组进行排序

我一直在寻找一种方法来按任意列表对对象数组进行排序。假设我有这个对象数组。[{"_id":"4JEEuhNIae","category":"grocery"},{"_id":"4JW7miNITl","category":"food"},{"_id":"4Je4kmrrbZ","category":"coffee"},{"_id":"4JgAh3N86x","category":"coffee"}]这是我想用作排序标准的数组。包含食物的记录应该排在第一位,然后是咖啡和杂货。['food','coffee','grocery']结果应该是:[{"_id":"4JW7miNITl","ca

MongoDB:如何在 mongodb 中对双元素数字数组的第二个元素设置条件?

我有postgresql和关系数据库的背景,我正在尝试再次给mongo一个机会,因为它似乎适合某些用途。我在这个网站上做练习http://www.w3resource.com/mongodb-exercises/它对具有以下结构的文档进行操作:{"address":{"building":"1007","coord":[-73.856077,40.848447],"street":"MorrisParkAve","zipcode":"10462"},"borough":"Bronx","cuisine":"Bakery","grades":[{"date":{"$date":13938

mongodb - 如何使用 $lte 和 $in 查询 mongo 值?

我有这样的文档:{_id:"1",archive:[{mark:10},{mark:20},{mark:30},{mark:40}]},{_id:"2",archive:[{mark:12},{mark:25},{mark:30}]},{_id:"3",archive:[{mark:15},{mark:18}]}....我想找到存档中有{mark:30}但少于mark:30的文档。如果我使用查询:{archive:{$elemMatch:{mark:{$lte:30}}}将获得包含2,3的文档如果我用户查询:{archive:{$elemMatch:{mark:{$lte:30,$in

mongodb - 在 Laravel 5.3 中使用 MongoDB

我想在Laravel5.3中使用MongoDB。为此,我找到了这个包:https://github.com/jenssegers/laravel-mongodb我已经在我的机器上安装了MongoDB并与Laravel建立了数据库连接。我还能够使用LaravelEloquent和查询构建器运行查询。唯一的问题是身份验证。为了在Laravel中使用这个包,我们需要在每个模型中扩展它的Eloquent类,例如:useJenssegers\Mongodb\Eloquent\ModelasEloquent;classUserextendsEloquent{}但是Laravel5.3提供的User

java - 如何使用 Java 驱动程序抑制 mongodb 中的列?

我想在Java中实现以下mongo查询。db.getCollection('document').find({"$and":[{"storeId":"1234"},{"tranDate":{"$gte":newDate("Sat,01Oct201600:00:00GMT"),"$lte":newDate("Mon,31Oct201600:00:00GMT")}}]},{"_id":0})我有以下java代码,但我不确定如何添加抑制逻辑,Listconditions=newArrayList();conditions.add(eq("field1","value1"));conditio

mongodb - 将 $Set 用于空值字段时 Mongodb 更新失败

我正在尝试更新一个现有文档,该文档中有一个空值字段,但出现以下错误。文档:{"_id":ObjectId("582299f71e21dbf65027325e"),"b":"5555","f":null}查询:db.getCollection('temp').update({"b":"5555"},{"$set":{"f.1.b":1,"f.2.b":2}})错误:WriteResult({"nMatched":0,"nUpserted":0,"nModified":0,"writeError":{"code":16837,"errmsg":"cannotusethepart(foff.

c# - 加载链接文档 MongoDB 驱动程序

我有一个正在由MongoDB驱动程序加载的文档。问题是此文档有另一个由ObjectId链接的文档。由于我的应用程序需要完全加载第一个文档,因此我通过IEnumerable加载链接文档,如下所示:IMongoDatabaseDatabase{get;set;}publicclassDocument1{[BsonId]publicObjectIdId;publicObjectIdDocument2Id;[BsonIgnore]publicDocument2Document2;}publicclassDocument2{[BsonId]publicObjectIdId;publicstrin

Mongodb 用 groupby 之类的东西限制结果数

我有一个具有多个层次结构的MongoDB集合,例如,我将使用一个包含国家/地区的集合,其中包含城市,每个文档都是针对特定城市的,并且包含国家/地区和城市的人口值(country_pop和city_popin示例)这非常简单,我实际上有6个层次结构和大量数据。[{"country":"France","city":"Paris","country_pop":63000000,"city_pop":2200000,"year":2015},{"country":"France","city":"Marseille","country_pop":63000000,"city_pop":850

MongoDB 搜索 : exact match and diacritic insensitivity (avoid tokenizer)

我正在尝试在不区分变音符号的MongoDB集合字段中进行搜索(它是一个$text索引),并且我只想找到完全匹配(不是.contains()或类似的)。我能想到的唯一解决方案是配置文档的索引以避免分词器。因此,我会将字段的所有内容作为一个标记,它只会返回完全匹配的内容。请问有人知道怎么做吗?非常感谢!例子:我尝试在该字段中搜索“iphone7”。我希望它还给我:“iphóne7”、“iphone7”。它给了我什么:“iphóne7”、“iphone7”、“iphone764gb”、“iphone7colorblanco”。 最佳答案