标签: mongodb-.net-driver

MongoDB C#Driver中的BsonValue和自定义类

我正在尝试使用$pushc#驱动程序在mongodb中的更新查询中使用.

Update.Push(...)方法需要一个字符串名称(这很好),并且BsonValue需要"推送".这是我遇到问题的地方.我正在尝试将非简单类型推送到字段的数组.

例如: { $push : { "arrayfield" : { "a" : 7, "b" : 12 } } }

这在Mongo控制台中运行良好,但我无法弄清楚如何将我的对象变成BsonValue.我试过BsonValue.Create(myObjectInstance)但是这给了我一个错误,说.NET类型无法映射到BsonValue.

我错过了一些简单的事吗?

c# mongodb mongodb-.net-driver

13
推荐指数
1
解决办法
8139
查看次数

MongoDB:获取所有数据库的列表?

如何使用Mongo C#Driver列出连接的所有数据库?

mongodb mongodb-.net-driver

12
推荐指数
3
解决办法
2万
查看次数

MongoDB C#Driver多字段查询

使用MongoDB C#驱动程序如何在查询中包含多个字段(使用vb.net)

我知道怎么办(for name1=value1)

 Dim qry = Query.EQ("name1","value1")
Run Code Online (Sandbox Code Playgroud)

我怎么能修改此查询,以便我可以把它找到的所有文件,其中 name1=value1name2=value2

( 相近 )

db.collection.find({"name1":"value1","name2":"value2"})
Run Code Online (Sandbox Code Playgroud)

c# vb.net mongodb mongodb-.net-driver

12
推荐指数
3
解决办法
1万
查看次数

是否有针对MongoDB Linq的"解释查询"?

有没有办法.explain()在Linq查询上运行或等效?我想知道

  • 实际JSON查询的文本
  • .explain()(使用的索引等)的输出
  • 拥有查询的执行时间也很好

c# linq query-optimization mongodb mongodb-.net-driver

12
推荐指数
2
解决办法
7338
查看次数

C#mongo使用json字符串查询

这看起来很基本,我确信我只是忽略了一个阶级或某个方法,但对于我的生活,我找不到它.

我有一个像这样的json字符串:

{ SendId: 4, "Events.Code" : { $all : [2], $nin : [3] } }
Run Code Online (Sandbox Code Playgroud)

我可以在mongo shell中对抗a find()或a 来运行它count()并得到我正在寻找的东西.在C#中处理这个问题最简单的方法是什么?这是我发现的:

  • 我找到的方法都想要一个IMongoQuery,这只是一个标记界面
  • BsonDocument 有一个很好的Parse方法,但它没有实现 IMongoQuery
  • QueryDocument继承自BsonDocument,它确实实现IMongoQuery,但它没有自己的Parse方法,我无法将其转换QueryDocumentBsonDocument
  • 聚合框架采用BsonDocument[],但有时我只想要一个简单的查找或计数操作
  • 其中一些查询很大且很粗糙,我不想在构建Query器类中一次构建它们

如果数据库处理json文档,并且我可以在shell中运行这些东西,是不是有某种方法可以通过驱动程序运行它?

.net c# json mongodb mongodb-.net-driver

12
推荐指数
2
解决办法
1万
查看次数

如何删除mongodb中的多个ID?

{ "_id" : ObjectId("51ee3966e4b056fe8f074f48"), "userid" : "66", "clientid" : "88", "deviceid" : "22", "timestamp" : "1374214822000"}
{ "_id" : ObjectId("51ee507ae4b056fe8f074f4a"), "userid" : "66", "clientid" : "88", "deviceid" : "22", "timestamp" : "1374214822000"}
{ "_id" : ObjectId("51ee51fee4b056fe8f074f4b"), "userid" : "66", "clientid" : "88", "deviceid" : "22", "timestamp" : "1374214822000"}
Run Code Online (Sandbox Code Playgroud)

如何删除mongodb中的多个ID?

mongodb mongodb-.net-driver

12
推荐指数
2
解决办法
6459
查看次数

MongoDB中的集合ID长度

我是mongodb和堆栈溢出的新手.

我想知道为什么mongodb集合ID是24个十六进制字符?这有什么重要意义?

mongodb mongoid mongodb-query mongodb-.net-driver

12
推荐指数
1
解决办法
1万
查看次数

将MongoDB BsonDocument转换为C#中的有效JSON

我正在使用MongoDB C#驱动程序.我有BsonDocument一些数据,其中包括一些特定于MongoDB的类型(如ObjectID和ISODates).我想将其转换为有效的通用JSON字符串.换句话说,我不可能有这样的事情_id: ObjectId(...)还是date: ISODate(...)而是宁愿_id: "..."date: "...".基本上,我想将只有MongoDB识别的特殊类型转换为常规字符串,以便更容易地解析它们.问题是内置函数.ToJson()(其他StackOverflow答案建议)并没有真正将文档转换为有效的JSON,因为它维护了这些特殊类型.我的文档还包含许多级别的数组和子文档,因此简单的for循环是不够的.转换BsonDocument它的最佳方法是什么来避免这个问题?我更喜欢内置的东西而不是手动递归文档来修复所有问题.

json mongodb mongodb-.net-driver

12
推荐指数
5
解决办法
2万
查看次数

MongoDB C#驱动程序2.0 InsertManyAsync与BulkWriteAsync

我必须使用新的C#2.0驱动程序在MongoDB集合中插入许多文档.是使用collection.InsertManyAsync(...)collection.BulkWriteAsync(...)有什么区别?(特别是关于表现).

根据我对MongoDB文档的理解,带有文档数组的插入应该是一个大量的操作.那是对的吗?

谢谢你的帮助.

c# mongodb mongodb-csharp-2.0 mongodb-.net-driver

12
推荐指数
1
解决办法
5988
查看次数

使用C#聚合$ lookup

我有以下MongoDb查询工作:

db.Entity.aggregate(
    [
        {
            "$match":{"Id": "12345"}
        },
        {
            "$lookup": {
                "from": "OtherCollection",
                "localField": "otherCollectionId",
                "foreignField": "Id",
                "as": "ent"
            }
        },
        { 
            "$project": { 
                "Name": 1,
                "Date": 1,
                "OtherObject": { "$arrayElemAt": [ "$ent", 0 ] } 
            }
        },
        { 
            "$sort": { 
                "OtherObject.Profile.Name": 1
            } 
        }
    ]
)
Run Code Online (Sandbox Code Playgroud)

这将检索与另一个集合中的匹配对象连接的对象列表.

有没有人知道如何使用LINQ或使用这个确切的字符串在C#中使用它?

我尝试使用以下代码,但它似乎无法找到类型QueryDocumentMongoCursor- 我认为它们已被弃用?

BsonDocument document = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>("{ name : value }");
QueryDocument queryDoc = new QueryDocument(document);
MongoCursor toReturn = _connectionCollection.Find(queryDoc);
Run Code Online (Sandbox Code Playgroud)

c# mongodb aggregation-framework mongodb-.net-driver

12
推荐指数
1
解决办法
6107
查看次数