【问题标题】:Add contents to an mongodb object array from nodejs从 nodejs 将内容添加到 mongodb 对象数组
【发布时间】:2017-02-27 23:20:37
【问题描述】:

我有一个mongodb对象,下面给出模型,我想在现有数组中添加内容

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
               }
    }]
  });

使用 PUT 或 POST 可以将内容添加到现有文档的提要数组中吗?请检查以下代码

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  }})
    }
        })
 });

【问题讨论】:

    标签: angularjs node.js mongodb express mongoose


    【解决方案1】:

    你应该在找到你的文档后使用 $push 在 Mongo 中添加一个数组。

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

    【讨论】:

      【解决方案2】:

      试试:

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

      如果您使用$addToSet$push 而不使用$each,它将把整个数组推送到mongo 中的数组上,而不是每个条目。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-05
        • 2020-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-10
        • 2021-11-06
        • 2020-09-25
        相关资源
        最近更新 更多