通过传递mongoose中的对象数组来获取文档

时间:2016-07-26 06:42:56

标签: angularjs node.js mongodb mongoose

如何通过在节点js服务器中传递对象数组来从mongo db集合中获取文档。例如,

var arr = [
     { "name": "ABC", "location": "NY"},
     { "name": "CDE", "location": "LA"},
     { "name": "EFG", "location": "NZ"}
];

这里的目标是获取文件,这些文件都满足这个名称和位置组合。

2 个答案:

答案 0 :(得分:0)

根据您指定的数组,您实际上只能在$or查询中的数组(假设是Mongoose),它会查找满足这3个条件之一的文档:

var arr = [
    { "name": "ABC", "location": "NY"},
    { "name": "CDE", "location": "LA"},
    { "name": "EFG", "location": "NZ"}
];

Model.find({$or: arr}, function(err, docs) {
      // do something with docs, docs are the documents returned from the query
});

模型是您正在使用的集合的模型/模式。

答案 1 :(得分:0)

以下是您查询的建议解决方案。

var filter = {
      $or: arr
}
db.coolection.find(filter, function(err, docs){
      //your functionality
});

这会有所帮助。