Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何删除mongoose中的特定子文档_Javascript_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Javascript 如何删除mongoose中的特定子文档

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

嗨,我是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: 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();
        }
    }
);