我有一个以下格式的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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。