我使用过update,findoneandupdate,updateOne,但都没有用。 没有任何修改。我要查询bookid,userid,然后通过查找“ titlenum”字段从名为“ datesched”的数组中删除一个对象。
所有来自req.body的字段都经过测试正常。 我只是不明白我的查询出了什么问题。 只希望它从数组中提取带有“ titlenum”的对象
const bookSchema = new Schema({
bookid: String,
isbn:String,
title:String,
author:String,
descr:String,
service:String,
smallimgurl:String,
largeimgurl:String,
shelf:[String],
note:String,
datesched:Array,
font:String,
user:{type:Schema.Types.ObjectId, ref:'User'}
})
var titlenum = req.body.titlenum;
var startdate = req.body.startdate;
var enddate = req.body.enddate;
Book.updateOne({bookid:bookid, user:user._id}, {'$pull':{'datesched':{
'titlenum':titlenum } }}, {new:true}, function(err, book){
if(err){
console.log(err)
}
console.log(book)
res.send({book:book})
})
简单对象: { “ startdate”:“ 2019年1月2日星期三00:00:00 GMT-0500(东部标准时间)”, “ enddate”:“ 2019年1月2日星期三GMT-0500(东部标准时间)”, “ titlenum”:0 }