使用MongoDB C#驱动程序如何在查询中包含多个字段(我使用vb.net)
我知道怎么做(name1=value1
)
Dim qry = Query.EQ("name1","value1")
如何修改此查询,以便查找name1=value1
和name2=value2
所有文档?
(类似)
db.collection.find({"name1":"value1","name2":"value2"})
答案 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