Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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
Node.js 如何删除MongoDB属性中的元素';MongooseJS的数组?_Node.js_Mongodb_Mongoose_Mongoose Schema - Fatal编程技术网

Node.js 如何删除MongoDB属性中的元素';MongooseJS的数组?

Node.js 如何删除MongoDB属性中的元素';MongooseJS的数组?,node.js,mongodb,mongoose,mongoose-schema,Node.js,Mongodb,Mongoose,Mongoose Schema,我无法删除作为MongoDB模型属性的数组中的元素。 请记住,这是一个NodeJS模块mongooseJS,而不是真正的MongoDB,因此功能不同 目标:从statusLiked数组中删除对象我还确认status.id的值是正确的。 型号: Const userSchema = new mongoose.Schema({ myStatus: Array, statusLiked: Array, )}; 删除: 1.删除状态(工作)。2.从User.statusLiked(无工作)

我无法删除作为MongoDB模型属性的数组中的元素。 请记住,这是一个NodeJS模块mongooseJS,而不是真正的MongoDB,因此功能不同

目标:从statusLiked数组中删除对象我还确认status.id的值是正确的。

型号:

 Const userSchema = new mongoose.Schema({
  myStatus: Array,
  statusLiked: Array,
 )};
删除: 1.删除状态(工作)。2.从User.statusLiked(无工作)中删除状态

发生的情况:从数据库中删除特定状态(对象)。但状态仍保留在User.statuslike数组中


我希望发生的事情:要从User.statuslike数组中删除的状态以及要从数据库中删除的状态。然后,重新加载页面并显示通知。

我不知怎么让它工作了。工作代码:

exports.deleteStatus = (req, res, next) => {
  var CurrUser = req.body.userid;
  var CurrentPost = req.body.post;
  Status.remove({ _id: CurrentPost }, (err) => {
    if (err) { return next(err); }
    console.log('meeee'+CurrentPost+'user: ' +CurrUser);
    req.flash('success', { msg: 'Status deleted.' });
    res.redirect('/');
  });
User.update( 
      { _id: new ObjectId(CurrUser)},
      { $pull: { myStatus : { _id : new ObjectId(CurrentPost) } } },
      { safe: true },
      function (err, obj) {
        console.log(err || obj);
      });
};
exports.deleteStatus = (req, res, next) => {
  var CurrUser = req.body.userid;
  var CurrentPost = req.body.post;
  Status.remove({ _id: CurrentPost }, (err) => {
    if (err) { return next(err); }
    console.log('meeee'+CurrentPost+'user: ' +CurrUser);
    req.flash('success', { msg: 'Status deleted.' });
    res.redirect('/');
  });
User.update( 
      { _id: new ObjectId(CurrUser)},
      { $pull: { myStatus : { _id : new ObjectId(CurrentPost) } } },
      { safe: true },
      function (err, obj) {
        console.log(err || obj);
      });
};