我是一个帮助翻译文本的助手。
问题出在以下查询语句。它删除了书籍模式项,而我只想删除书籍数组中的objectid。
我正在尝试使用一种填充查询来从数组中删除对象ID,但遇到了困难。
这是我的架构:
var userSchema = new Schema({
username: String,
password: String,
books: [{type: Schema.Types.ObjectId, ref: 'Book'}]
}
);
var bookSchema = new Schema({
bookid: {type:String, unique:true, required:true},
imgURL: String,
fortrade: Boolean
});
问题出在以下查询语句。它删除了书籍模式项,而我只想删除书籍数组中的objectid。
users.findOne({'_id':userid}).populate('books').exec(function(usererr,userdata){
if (usererr) return console.error(usererr);
userdata.books.forEach(function(elm,idx){
if(elm.bookid==_book.bookid){
userdata.books[idx].remove();
}
})
});