【发布时间】:2016-05-09 07:59:49
【问题描述】:
我在尝试使用填充查询从数组中删除 objectid 时遇到了非常困难的情况。
这是我的架构
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();
}
})
});
【问题讨论】:
-
我也遇到了同样的问题,如果你能详细给出解决方案会很有帮助。
标签: node.js mongodb mongoose mongodb-query