说我有一个看起来像这样的模型:
{ name: String, category: String }
我得到了一个包含这样对象的数组:
var array = [{
{ name: "a", category: "A" }
, { name: "b, category: "A" }
, { name: "b", category: "B" }
}]
现在我想找到与数组中的值对匹配的所有对象。如果它只是一个字符串数组,代码就像Model.find({ name: {$in: array } })
,但我需要像
Model.find({ name,category: {$in: array} })
这可能吗?
答案 0 :(得分:3)
您可以在$or
查询中直接使用该数组来查找与这些对中的任何一对匹配的文档:
var array = [
{ name: "a", category: "A" }
, { name: "b", category: "A" }
, { name: "b", category: "B" }
];
Model.find({$or: array}, function(err, docs) { ... });