以下是一个示例模型:
UserModel == {
name: String,
friends: [ObjectId],
}
friends
例如,对应于id
某个其他模型的对象列表AboutModel
。
AboutModel == {
name: String,
}
User.findOne({name: 'Alpha'}, function(error, user){
About.find({}, function(error, abouts){ // consider abouts are all unique in this case
var doStuff = function(index){
if (!(about.id in user.friends)){
user.friends.push(about.id);
about.save();
}
if (index + 1 < abouts.length){
doStuff(index + 1)
}
}
doStuff(0) // recursively...
})
})
在这种情况下,user.friends 中的条件“about.id”似乎总是错误的。如何?这与 ObjectId 的类型或它的保存方式有关吗?
注:ObjectId
是Schema.ObjectId
;的缩写 我不知道这本身是否是一个问题。