2017-02-27 37 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将整个阵列推到在蒙戈的数组,而不是每个条目。