我有的示例集合
{
"_id" : "123",
"name" : "John",
"height": 170,
"favorite" : {
"fruits" : [
{
"name" : "banana",
"reason" : null
},
{
"name" : "orange",
"reason" : null
}
],
}
},
{
"_id" : "456",
"name" : "Cena",
"height" : 160,
"favorite" : {
"fruits" : [
{
"name" : "berry",
"reason" : null
},
{
"name" : "orange",
"reason" : null
}
],
}
}
我从JS获得的数组值是["banana","orange"]
,我加入它们成为banana,orange
并传递它以进行匹配。它必须与集合中的所有值完全匹配,并且返回值应为"_id":"123"
,如果值为banana,orange,berry
,则结果应为NONE。
我尝试了Matches
string q_value = "banana,orange"; // exmaple
IMongoQuery query = Query.And(
Query.GTE("height",170),
Query.Matches("favorite.fruits", q_value)
);
MongoCursor mongocursor = db.GetCollection("XXDB", "Member").Find(query);
但我认为Matches
不是我正在寻找的那个。
这可能是How to check if an array field contains a unique value or another array in MongoDB?的方式,但它不是查询方法,在这个问题中我查找的查询只是我函数中的一个查询。
如果有人知道查询方法,请帮助我,感谢很多