MongoDB C#Driver多字段查询

时间:2012-09-23 11:20:07

标签: c# vb.net mongodb mongodb-.net-driver

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

我知道怎么做(name1=value1

 Dim qry = Query.EQ("name1","value1")

如何修改此查询,以便查找name1=value1name2=value2所有文档?

(类似)

db.collection.find({"name1":"value1","name2":"value2"})

4 个答案:

答案 0 :(得分:20)

使用And方法 - 来自tutorial的C#示例:

MongoCollection<BsonDocument> books;
var query = Query.And(
    Query.EQ("author", "Kurt Vonnegut"),
    Query.EQ("title", "Cats Craddle")
);

答案 1 :(得分:2)

并不总是做你想要的(因为我发现在一个不操作的情况下就是这样)。您还可以创建一个新的QueryDocument,如下所示。这完全等同于您所寻找的内容。

 Query.Not(new QueryDocument { 
    { "Results.Instance", instance }, 
    { "Results.User", user.Email } }))

答案 2 :(得分:2)

我想在不同的字段中搜索文本,即使在浪费了太多时间之后,全文搜索对我也不起作用。所以我试过这个。

<Form schema={addKittenFormSchema} id="addKittenForm" onSubmit={this._addKitten} resetOnSubmit={false}>

答案 3 :(得分:0)

您可以使用:

var arrayFilter = Builders<BsonDocument>.Filter.Eq("student_id", 10000) 
 & Builders<BsonDocument>.Filter.Eq("scores.type", "quiz");

参考:https://www.mongodb.com/blog/post/quick-start-csharp-and-mongodb--update-operation