我有一个mongo db对象,我希望以
的格式创建{year:{month:{day:counts:{c:1}}}}
{
"2014" : {
"11" : {
"19" : {
"Counts" : {
"c" : 1
}
}
}
}
}
它实际上能够每天计算一些事件,所以将来我应该能够计算特定日期的事件,或者如果我想得到几天的计数,就可以总结它们。
我正在使用pymongo,我认为它可以使用upsert来完成,但是如何在像“Count”这样的文档属性上完成。“C”这里是我无法实现的东西
postdata = {"2014":{"11":{"20"}},"date": curdate}
install_counter.update(postdata,{'$set':{},'$inc':{"2014":{"11":{"20":1}}}},true,false)
答案 0 :(得分:2)
我不确定你想要做什么 - 插入一些如上所述的文件,或者增加嵌套的c
字段?看起来您想要增加c
,请尝试
collection.update({ "_id" : <_id of doc> }, { "$inc" : { "2014".11.19.Counts.c" : 1 } })
如果这不是你想要的,你能更清楚地表达问题吗?
答案 1 :(得分:1)
首先,您应该从查询中删除“$ set”部分。
其次,增量的作用如下:
"$inc": {"2014.11.20.Counts.c": 1}