Javascript 如何删除mongoose中的特定子文档
嗨,我是MongoDB和编程新手。我试图在特定的父文档中删除特定的子文档,并使用Mongoose和Node.js。这是我的模式模型(user.js文件): 以下是我如何尝试删除:Javascript 如何删除mongoose中的特定子文档,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,嗨,我是MongoDB和编程新手。我试图在特定的父文档中删除特定的子文档,并使用Mongoose和Node.js。这是我的模式模型(user.js文件): 以下是我如何尝试删除: var User = require("../../models/user.js"); ... var userId = req.session.passport.user; var deleteItemId = req.params.id; User.user.findOne({_id: user
var User = require("../../models/user.js");
...
var userId = req.session.passport.user;
var deleteItemId = req.params.id;
User.user.findOne({_id: userId}, function(err, user){
if(err){
console.log(err);
}else {
User.userStuff.remove({ _id: deleteItemId}, function(err, data){
if(err){
console.log(err);
}else{
user.save(function(err){
if(err){
console.log(err);
} else {
res.status(200).send();
}
});
}
});
}
});
您可以演示如何为特定用户删除特定项目吗?要为特定用户删除特定项目,您可以使用操作符删除包含原子更新的子文档:
User.user.update(
{ "_id": req.session.passport.user },
{ "$pull": { "stuff": { "_id": req.params.id } } },
function(err, numAffected) {
if(err){
console.log(err);
} else {
res.status(200).send();
}
}
);
User.user.update(
{ "_id": req.session.passport.user },
{ "$pull": { "stuff": { "_id": req.params.id } } },
function(err, numAffected) {
if(err){
console.log(err);
} else {
res.status(200).send();
}
}
);