开发者社区> 问答> 正文

关于mongodb 修改内嵌数据的问题

{
    "_id" : ObjectId("570b500b517682cebe1183ee"),
    "userName" : "m27",
    "colonizeStations" : [
        {
            "uid" : 1,
            "sid" : 703,
            "name" : "colonizeship_name",
            "state" : 1,
            "starId" : 0,
            "refineBuildingMap" : [
                {
                    "sid" : 2002,
                    "x" : -4.7412109375,
                    "y" : 2.248198986053467,
                    "z" : 4.6328125,
                    "lastCollectResourceTime" : 1460367845,
                    "lastCollectionAdditionTime" : 1460367845,
                    "resource" : 0
                },
                {
                    "sid" : 2052,
                    "x" : -4.60888671875,
                    "y" : 4.834808349609375,
                    "z" : 2.093750476837158,
                    "lastCollectResourceTime" : 1460367857,
                    "lastCollectionAdditionTime" : 1460367857,
                    "resource" : 0
                }
            ]
        }
    ]
}

我想修改 最里面的文档的 “lastCollectionAdditionTime”和”resource”这两个值怎么写?因为不想动到其他的字段.. 我只会修改一层内嵌的数据, 这个是在第二层

展开
收起
蛮大人123 2016-06-15 14:53:06 2052 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    这不是多少层的问题,而是对象中有数组

    "$set": {
        "colonizeStations.0.refineBuildingMap.<N>.lastCollectionAdditionTime": <NEW VALUE>
    }

    <N>表示数组中的第几个元素

    2019-07-17 19:39:16
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
阿里云MongoDB云服务构建 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载