Node.js MongoDB$pull查询不';我不能正常工作

Node.js MongoDB$pull查询不';我不能正常工作,node.js,mongodb,Node.js,Mongodb,伙计们,我想用$pull qıery发出一个不跟随的请求,但它不起作用。如何解决这个问题 当我想跟踪请求用户时,这个方法可以很好地与$push查询配合使用,但与$pull不配合使用 My app.js: app.post('/unfollow/:id', function(req, res){ User.find(req.user ).exec(function(err, user){ if(err){ console.log(err); }

伙计们,我想用$pull qıery发出一个不跟随的请求,但它不起作用。如何解决这个问题

当我想跟踪请求用户时,这个方法可以很好地与
$push
查询配合使用,但与
$pull
不配合使用

My app.js:

app.post('/unfollow/:id', function(req, res){

  User.find(req.user
  
  ).exec(function(err, user){
  
  if(err){
    console.log(err);
  }
    
    User.find({"username":req.params.id}, function(err, friend){
      
      if(err){
        console.log(err);
      }
    User.update(user,{$pull: { follow: friend}}, function(err){
      if(err){
      console.log(err);
    }else{
      res.send("Success")
    } 
    });
  });
  });
  });
这是我的用户的以下内容:

{ follow:
   [ 5edfe8f3bfc9d677005d55ca,
     5edfe92fbfc9d677005d55cc,
     5ee2326cc7351c5bb0b75f1a ],
我将从此数组中获取好友id

和我的用户模型(遵循部分):


如果pull不起作用,你能给我建议查询或取消后续请求的方法吗。

User.find({username:req.params.id}
将返回一个文档,但看起来你确实在
follow
字段中存储了
ObjectId
s。我除了将
$pull:{follow:friend}
更改为
$pull:{follow:friend.\u id}
应该可以解决这个问题。

请帮助我解决这个问题已经有几个星期了,但是当我做控制台日志朋友时。\u id它作为未定义的日志记录当我做控制台日志朋友时,它记录整个用户(朋友)好的,我已经用$pullAll查询解决了这个问题。我不知道为什么,但是很有趣。我不知道pullAll在pull不起作用的地方如何工作。我不知道为什么
follow:[{
    type: ObjectId,
}]