【问题标题】:Mongodb Pushing document into array nested in object valueMongodb将文档推送到嵌套在对象值中的数组中
【发布时间】:2016-01-02 00:59:45
【问题描述】:

好的,我正在构建一个使用 nodejs 的应用程序,它有一个非常复杂的架构。这是一个看起来像这样的巨型文档的示例:

var docJSON = {
  people:{
    funny:[{
      name:'Joe',
      height:177
    }]
  }
}

每当我尝试将一个新对象推入搞笑状态时,它永远不会被推入!没有错误出现或任何东西。 我现在用来吸引有趣的人的代码是:

var funnyJSON = {
   name:'Paul',
   height:200,
}
mongo.get('people').update({_id:'SOME_STRING'},{
    $push:{'people.funny':funnyJSON}
},function(err){
    if(err) throw err;
});

【问题讨论】:

    标签: javascript json node.js mongodb monk


    【解决方案1】:

    您的 _id 是 BSON ObjectId 吗?如果是这样,请尝试以下操作:

    var ObjectID = require('mongodb').ObjectID;
    
    mongo.get('people').update({_id: new ObjectID('SOME_STRING')},{
        $push:{'funny':funnyJSON}
    },function(err){
        if(err) throw err;
    });
    

    【讨论】:

    • 是的,我更新其他字段没有问题。困扰我的只是这个。
    • 你试过$push: {'funny': funnyJSON}(没有前面的'people.')吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 2020-03-27
    相关资源
    最近更新 更多