加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

不确定如何在c#中使用ElemMatch for MongoDb(最新的驱动程序版本

发布时间:2020-12-15 08:26:05 所属栏目:百科 来源:网络整理
导读:我有一个以下格式的MongoDB集合: { "_id" : ObjectId("5692a3397d7518330416f8e5"),"supertagname" : "xxx","inclusions" : [ "test","blabla" ],"exclusions" : [ ]} 我试图查询数组“包含”包含我正在寻找的值的所有文档.这是代码 string t = "blabla"; /
我有一个以下格式的MongoDB集合:
{ 
    "_id" : ObjectId("5692a3397d7518330416f8e5"),"supertagname" : "xxx","inclusions" : [
        "test","blabla"
    ],"exclusions" : [ ]
}

我试图查询数组“包含”包含我正在寻找的值的所有文档.这是代码

string t = "blabla"; // the string value I am looking for

filter = Builders<BsonDocument>.Filter.ElemMatch(
    "inclusions",Builders<BsonDocument>.Filter.Eq("inclusions",t));

var matches = dictCollection.Find(filter).ToList();

foreach (BsonDocument doc in matches) {}

matches.count总是0.我做错了什么?

谢谢

解决方法

我认为你可以使用这样的过滤器更简单地做到这一点:
var filter = Builders<BsonDocument>.Filter.AnyEq("inclusions",t);

这将过滤包含数组包含您要查找的值的文档.

http://mongodb.github.io/mongo-csharp-driver/2.2/reference/driver/definitions/#array-operators

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读