我无法在我的架构中添加元素 ($addToSet)
I can't add elements in my schema ($addToSet)
我有这样的方案。使用命令时,我希望在那里添加新项目
const userSchema = new mongoose.Schema({
_id: { //user id
type: String,
required: true,
},
books: [{ //book that user uses
_id: { //book id
type: Number,
required: true,
},
lessons: [{ //lessons of the book with progress
type: String,
required: true,
}],
}],
})
我正在尝试以这种方式添加它们。
await userSchema.findByIdAndUpdate(author.id, { $addToSet: { books: {_id: bookid, lessons: progress} } })
bookid
- int 值加一。
progress
- 字符串数组
但是只写了一组课文到base,没有id。
当我只添加 id 时,不会添加 id,而是添加一系列课程。
我已经花了几个小时了,但我不明白为什么它不想将所有内容都添加到数组中。请帮忙。
尝试使用 $push
运算符:
await userSchema.findByIdAndUpdate(author.id, {
$push: {
books: {
_id: bookid,
lessons: progress
}
}
})
我有这样的方案。使用命令时,我希望在那里添加新项目
const userSchema = new mongoose.Schema({
_id: { //user id
type: String,
required: true,
},
books: [{ //book that user uses
_id: { //book id
type: Number,
required: true,
},
lessons: [{ //lessons of the book with progress
type: String,
required: true,
}],
}],
})
我正在尝试以这种方式添加它们。
await userSchema.findByIdAndUpdate(author.id, { $addToSet: { books: {_id: bookid, lessons: progress} } })
bookid
- int 值加一。
progress
- 字符串数组
但是只写了一组课文到base,没有id。 当我只添加 id 时,不会添加 id,而是添加一系列课程。 我已经花了几个小时了,但我不明白为什么它不想将所有内容都添加到数组中。请帮忙。
尝试使用 $push
运算符:
await userSchema.findByIdAndUpdate(author.id, {
$push: {
books: {
_id: bookid,
lessons: progress
}
}
})