Mongoose:如何从一组对象中找到多个字段

时间:2015-09-23 22:36:33

标签: arrays mongoose

说我有一个看起来像这样的模型:

{ 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} })

这可能吗?

1 个答案:

答案 0 :(得分:3)

您可以在$or查询中直接使用该数组来查找与这些对中的任何一对匹配的文档:

var array = [
    { name: "a", category: "A" }
  , { name: "b", category: "A" }
  , { name: "b", category: "B" }
];

Model.find({$or: array}, function(err, docs) { ... });