我不知道我需要怎么做我想要做什么。我的模式是这样的:搜索值的数组对猫鼬
var userObj = mongoose.Schema({
'timestamp':{type: Date, default: Date.now()},
'password':{type:String, required:true},
"userName":{type:String, required:true, unique:true}
});
var groupSchema = mongoose.Schema({
'creator':String,
'members':Array, //contains the _id of users added to the group
'admins':Array,
'name':String,
'timestamp':{type: Date, default: Date.now()},
'description':String
});
其中成员架构有一个包含用户ID的数组。我需要从组文档中获取数组并获取用户名。
我开始了使用猫鼬.find()方法和推动的结果到一个数组环 - 但正如我所期望的阵列是回调函数的范围的空外。
var dat = [];
for(var i = 0; i<passed.payload.length;i++){
user.find({'_id':passed.payload[i]},'userName',function(err,result){
if(err){
console.log(err);
}else{
dat.push(result);
}
})
}
//res.send(dat)
console.log(dat);
我不知道如何做到这一点 - 我考虑过使用.find拉所有用户ID,然后运行该阵列即可返回只匹配。这似乎是浪费资源拉全用户表,然后测试它。
是否有一个更复杂的查询,我可以用猫鼬使用_ids数组来匹配这样的数据?
是的,它做到了。我几乎觉得很蠢,除了我在学习,所以学习很好,我看了看,但误解了它的用法。谢谢! – grishrl