【发布时间】:2016-02-05 14:03:19
【问题描述】:
我必须知道一个项目是在这个模型的第一个数组还是第二个数组中。
Model:
_id: String,
array1: [{ id: Number, name: String, timestamp: String }],
array2: [{ id: Number, name: String, timestamp: String }],
array3: [{ id: Number, name: String, timestamp: String }],
array4: [{ id: Number, name: String, timestamp: String }]
});
我正在使用这些查询,但谁能帮我改进它,或者只用一个查询来完成它?
Model.findOne({_id: userId , 'array1.id': item.id },function(error, res) {
if(!res){
Model.findOne({_id: userId , 'array2.id': item.id },function(error, res) {
if(!res){
//do what i need;
}else{
//error;
}
});
}else{
//error;
}
});
我已经使用过类似的查询:
Model.findOne({$and: [{_id: userId} ,{'array1.id': item.id }, {'array2.id': item.id} ]},function(error, res) {
if(!res){
但它不起作用。
【问题讨论】:
标签: arrays node.js mongodb mongoose