Mongodb按查询方法匹配数组对象的值?

时间:2017-03-21 15:01:57

标签: mongodb

我有的示例集合

{
    "_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?的方式,但它不是查询方法,在这个问题中我查找的查询只是我函数中的一个查询。

如果有人知道查询方法,请帮助我,感谢很多

0 个答案:

没有答案