如何使用c#查询具有数组的MongoDb

时间:2016-04-02 11:00:32

标签: c# mongodb

我有这样的文件:

{
    "_id" : ObjectId("56ff6d54f07a36271465441c"),
    "Author" : "John",
    "Content" : "Thera are alot of databases",
    "CreatedAtUtc" : ISODate("2016-04-02T06:57:24.542Z"),
    "Tags" : [ 
        "elasticSearch", 
        "MongoDb", 
        "C#"
    ],
    "Title" : "Best DB"
}

我想找到所有带有标签的文件:“MongoDb”

我试过了:

var filter = Builders<Post>.Filter.In("Tags", "MongoDb");
var posts = collection.Find(filter).ToList();

post是C#类

但我没有文件。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

查询Tags数组中“MongoDB”相等匹配的文档时,只需使用查询文档{ "Tags": "MongoDb" }:

Mongo Shell

db.collection.find({ "Tags": "MongoDb" })

<强> C#

使用 Eq 方法实现指定相等条件的过滤器文档:

var filter = Builders<Post>.Filter.Eq("Tags", "MongoDb");
var posts = collection.Find(filter).ToList();