我有一个用户模型结构有点像这样:子文档MongoDB中检索阵列
const userSchema = new mongoose.Schema({
email: { type: String, unique: true },
password: String,
todosDo: [models.Do.schema],
}
那孩子“做”的模式有点像这样(在不同的文件):
const doSchema = new mongoose.Schema({
name: {type: String, default : ''},
user: {type: mongoose.Schema.ObjectId, ref: 'User'},
createdAt: {type : Date, default : Date.now}
});
而且我试图找出如何检索登录用户的todosDo数组。这是我到目前为止有:
// Get all "Do" todos from DB
// Experimenting to find todos from certain user
User.findById(req.user.id, function(err, user){
if(err){
console.log(err);
} else {
doTodos = user.todosDo, // this obviously doesn't work, just an idea of what I was going for
console.log(doTodos);
finished();
}
});
上午我引用父/子错还是我只是没有检索阵吧?任何帮助是极大的赞赏!
用户代码中的users.todosDo实际上是否是逗号?如果是这样,你不经意地将'doTodos'设置为'未定义'的console.log()。 – Mike
@Mike它是,但我定义了这样的doTodos:'var doTodos = {};'在从数据库获取所有“Do”待办事项之前。或者那不是你所指的? –