如何在mongodb中添加/推送给定字段?mondodb查询是什么?

时间:2016-03-10 08:59:01

标签: mongodb mongodb-query

所以这是我的收藏摘录:

{
        "_id" : ObjectId("56d82c76c07d41a38d418120"),
        "userid" : "a",
        "dates" : {
                "2/01/2015" : {
                        "9/10" : {
                                "ava" : "yes",
                                "bookibg_id" : "null"
                        },
                        "10/11" : {
                                "ava" : "yes",
                                "bookibg_id" : "null"
                        }
                },
                "3/01/2015" : {
                        "9/10" : {
                                "ava" : "yes",
                                "bookibg_id" : "null"
                        },
                        "10/11" : {
                                "ava" : "yes",
                                "bookibg_id" : "null"
                        }
                }}}
{
        "_id" : ObjectId("56d82c76c07d41a38d418120"),
        "userid" : "b",
        "dates" : {
                "2/01/2015" : {
                        "9/10" : {
                                "ava" : "yes",
                                "bookibg_id" : "null"
                        },
                        "10/11" : {
                                "ava" : "yes",
                                "bookibg_id" : "null"
                        }
                },
                "3/01/2015" : {
                        "9/10" : {
                                "ava" : "yes",
                                "bookibg_id" : "null"
                        },
                        "10/11" : {
                                "ava" : "yes",
                                "bookibg_id" : "null"
                        }
                }}}

我想将给定的代码段添加/推送到用户ID:b,日期fiels: 片段:

"4/01/2015" : {
                        "9/10" : {
                                "ava" : "yes",
                                "bookibg_id" : "null"
                        },
                        "10/11" : {
                                "ava" : "yes",
                                "bookibg_id" : "null"
                        }
                } 

所以我想在其中添加代码段日期>片段,其中userid = b 什么是mongodb查询? 我搜索了关于mongo docs的$ push,但它说该字段需要是一个数组,否则它不会发生。

2 个答案:

答案 0 :(得分:1)

你可以尝试这段代码:

db.dates.update({"userid":"b"}, {$set:{"dates.4/01/2015":{
                    "9/10" : {
                            "ava" : "yes",
                            "bookibg_id" : "null"
                    },
                    "10/11" : {
                            "ava" : "yes",
                            "bookibg_id" : "null"
                    }
            } }})

答案 1 :(得分:0)

不,你不能做这种事情

为此您必须找到文档,然后在对象中添加新值,然后更新对象