Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 通过传递mongoose中的对象数组获取文档_Angularjs_Node.js_Mongodb_Mongoose - Fatal编程技术网

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

Angularjs 通过传递mongoose中的对象数组获取文档,angularjs,node.js,mongodb,mongoose,Angularjs,Node.js,Mongodb,Mongoose,我们如何通过在NodeJS服务器中传递一个对象数组从mongo db集合中获取文档。比如, var arr = [ { "name": "ABC", "location": "NY"}, { "name": "CDE", "location": "LA"}, { "name": "EFG", "location": "NZ"} ]; 在这里,目标是获取所有满足此名称和位置组合的文档。给定指定的数组,您实际上可以在查询中仅使用数组(假设Mongoose),它会查找满

我们如何通过在NodeJS服务器中传递一个对象数组从mongo db集合中获取文档。比如,

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

在这里,目标是获取所有满足此名称和位置组合的文档。

给定指定的数组,您实际上可以在查询中仅使用数组(假设Mongoose),它会查找满足以下三个条件之一的文档:

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

Model是您正在使用的集合的模型/架构。

给定您指定的数组,您实际上可以在查询中仅使用数组(假设Mongoose),它会查找满足以下三个条件之一的文档:

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

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

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

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

这会有所帮助。

以下是一个建议的解决方案

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

这将有所帮助。

您可以使用
db.collection.find()
,更多信息您可以使用
db.collection.find()
,更多信息不,它不会返回数据。如果集合中不存在任何一个对象,那么我们也可以得到结果。但是$or返回空数组你能提供一个你上面所说的例子吗?我想我不太明白你想做什么。我给出的答案将返回满足这些条件之一的文档,这就是您想要的吗?是的,我正在尝试从itemName、itemRef、itemCategory、itemSpecification匹配的存储集合中获取存储详细信息。我的传递有效负载是样本中提到的数组。原始传递有效负载是,选项:[{ref:'5794db53a7dd0eb45311e8d5',项:'File',计量单位:'Piece',规格:'Clear Folder File A4',类别:'Office'},{ref:'5794db3ba7dd0eb45311e8cb',item:'Letter Tray',uom:'Piece',specification:'ALFAX',category:'Office'},{ref:'5794d705a7dd0eb45311e882',item:'GPS跟踪设备',uom:'Piece',specification:'T333 E-Meitrack',category:'Project'}你确定你的文件都有这些钥匙吗?你的“ref”键看起来像是存储为ObjectId的_id('5794db53a7dd0eb45311e8d5')不,它不返回数据。如果集合中不存在任何一个对象,那么我们也可以得到结果。但是$or返回我空数组。你能提供一个例子说明你上面所说的吗?我想我不太明白你想做什么。我给出的答案将返回满足其中一个条件的文档ons,这就是您想要的吗?是的,我正在尝试从itemName、itemRef、itemCategory、itemSpecification匹配的存储集合中获取存储详细信息。我的传递负载如示例中所述位于数组中。原始传递负载为,选项:[{ref:'5794db53a7dd0eb45311e8d5',项目:'File',uom:'Piece',规范:'Clear Folder File A4',类别:'Office'},{ref:'5794db3ba7dd0eb45311e8cb',项目:'Letter Tray',uom:'Piece',规范:'ALFAX',类别:'Office'},{ref:'5794d705a7dd0eb45311e882',item:'GPS跟踪设备',uom:'Piece',specification:'T333 E-Meitrack',category:'Project'}]您确定您的文档中有所有这些密钥吗?您的“ref”密钥看起来像是作为ObjectId('5794db53a7dd0eb45311e8d5'存储的_id)