【发布时间】:2020-12-17 22:02:56
【问题描述】:
我有一个模型,它由像 Trello 这样的板和列表组成,我的模型是
const listSchema = mongoose.Schema({
header: String,
listItems: [String]
})
const BoardSchema = mongoose.Schema({
name: {
type: String,
required: true,
},
lists: [listSchema]
})
在用户创建一个板并重定向到它后,他应该创建一个列表,然后将项目添加到该列表中
module.exports.AddList = async(req, res) => {
const { id } = req.body;
Board.findById(id).then((board) => {
const list = {
header: "List1",
listItem: ['task', 'task2']
}
board.lists.push(list);
board.save();
}).catch((e) => {
console.log(e);
})
}
当我这样做时,它确实将一个模型插入到数据库中,但是lists[]只有_id和header属性,没有listItems,这是什么原因?以及为什么列表[]中的每个对象在我无法使用它们时都有自己的_id,例如
List.findById('5f49b4db98bcad61a84410e6').then((list) => {
console.log(list)
})
只返回空值;
【问题讨论】:
-
嘿,你在
Board.findById(id)查询之前没有使用await关键字,你不能更新文档,比如推送到承诺的结果。 -
您没有在猫鼬查询之前使用
await关键字。 Mongoose 查询返回承诺。