2017-02-27 12 views
1

我有一個mongodb的對象,該模型在下面給出一個mongodb的對象陣列添加內容,我想使用PUT到內容添加到現有的陣列從的NodeJS

var UsersSchema = new Schema({ 
name: { 
    type: String, 
    required: true 
     }, 
EmpId: { 
    type: string, 
    required: true 
      }, 
feed:[{ 
     status: { 
     type: String 
       }, 
     comments: { 
     type: String 
       }, 
     posted_date: { 
     type: Date, 
     default : Date.now 
       } 
    }] 
    }); 

或POST可予添加內容到現有文檔的飼料array.please檢查下面的代碼

router.put('/api/user1', function(request, response){ 

Model.findById(request.body._id, function(err, user){ 
    console.log(user.feed); 
    if(err){ 
     response.status(404).send(err); 
    } 
    else { 
     user.update(
       {_id: user._id }, 
       { $addToSet: 
     { feed: user.feed }}) 
    } 
     }) 
}); 

回答

0

您應該使用$推添加到蒙戈數組你找到你的文檔之後。

user.update(
    {_id: user._id }, 
    { $push: 
    { feed: user.feed } 
}) 
0

嘗試:

user.update({_id: user.id}, {$addToSet: {feed: {$each: user.feed}}});

如果使用$addToSet$push沒有$each將整個陣列推到在蒙戈的數組,而不是每個條目。