Javascript 猫鼬$push不';t插入数组

Javascript 猫鼬$push不';t插入数组,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,这是我的猫鼬模式 var userSchema = new mongoose.Schema({ referral:[{ id:{type: String}, name:{type: String} }], code:{type:String} }); 然后我试着做这样的事情 User.findOneAndUpdate({code:'123'}, {$push:{'referral':{'id':'49385986','name':'myname'}}}, f

这是我的猫鼬模式

var userSchema = new mongoose.Schema({
  referral:[{
    id:{type: String},
    name:{type: String}
  }],
  code:{type:String}
});
然后我试着做这样的事情

User.findOneAndUpdate({code:'123'}, {$push:{'referral':{'id':'49385986','name':'myname'}}},
    function(err, result) {
        console.log(err);
        console.log(result);
    });

我可以看到结果,但当我检查数据库时,它没有更新/插入。

@chridam where?请将其指向outUser.findOneAndUpdate({code:'123'},{})@ShantanuMadane我不明白,请发布一个答案好吗?@ShantanuMadane试图修复打字错误,但不起作用如果你没有看到错误,并且你得到了结果,你的方法很可能成功,你能将日志和结果粘贴到问题中吗?如果有效,请接受并投票每当您要向数组中插入一个或多个值时,每个值都与推送一起使用。您的代码不起作用,因为referal是一个数组,$each有助于在适当的索引处添加元素,但在您的代码中,它不了解必须在什么索引处添加数据
Try This:

   User.findOneAndUpdate(
       {code:'123' },
       {
         $push: {
           referral: {
              $each: [ { id: "5", name:"abc" }, { id: "6", name: "xyz" }, { id: "7", name:"pqr" } ]
           }
         }
       },function(err,data){
        if(data){
         console.log(data); 
          }
        else{
        console.log(err);
         }

     });
    );