所以这是我的收藏摘录:
{
"_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,但它说该字段需要是一个数组,否则它不会发生。
答案 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)
不,你不能做这种事情
为此您必须找到文档,然后在对象中添加新值,然后更新对象