【发布时间】:2020-09-06 20:16:00
【问题描述】:
我有一个用户架构,每个用户都有一个个人资料,其中他有一个书籍集合,并且用户想从 bookCollection 中删除一本书,我已经尝试过我的代码位于底部。用户架构如下:
var bookSchema = new Schema({
title: {
type: String,
required: true,
},
author: {
type: String,
required: true,
},
publisher: {
type: String,
default: "not set"
},
desc: {
type: String,
default: "not set"
},
availableAs: {
type: String, //either hardcopy or softcopy
required: true
},
price: {
type: Number,
default: 0
},
category: {
type: String,
default: "not set"
},
imageurl: {
type: String,
default: 'nobook.png'
},
bookurl: {
type: String,
default: ''
},
softcopy_available: {
type: Number,
default: 0
}
});
var userSchema = new Schema({
admin: {
type: Boolean,
default: false
},
bookCollection: [bookSchema]
});
这是我正在尝试的,但删除不起作用,有时会显示错误并且页面继续加载。
router.post('/', (req, res, next) => {
console.log(req.body.bookid);
var id=req.body.bookid;
users.findOne({
})
.then((user1) =>
user1.bookCollection.pull(req.body.bookid._id);
})
.catch((err) => {
next(err)
});
});
【问题讨论】:
-
这能回答你的问题吗? How to remove array element in mongodb?
标签: javascript node.js mongodb mongoose nosql