Python pymongo upsert子集合中的增量
我有一个mongo db对象,我想以Python pymongo upsert子集合中的增量,python,mongodb,python-2.7,pymongo,Python,Mongodb,Python 2.7,Pymongo,我有一个mongo db对象,我想以 {year:{month:{day:counts:{c:1}}}} { "2014" : { "11" : { "19" : { "Counts" : { "c" : 1 } } } } } 事实上,我每天都能数到一些事件,所以将来我应该能够数到某一天的事件,或者如果我想数到几天的话,我甚至可以把它们加起
{year:{month:{day:counts:{c:1}}}}
{
"2014" : {
"11" : {
"19" : {
"Counts" : {
"c" : 1
}
}
}
}
}
事实上,我每天都能数到一些事件,所以将来我应该能够数到某一天的事件,或者如果我想数到几天的话,我甚至可以把它们加起来
我使用的是pymongo,我认为可以使用upsert来完成,但是如何在像“Count”这样的文档属性上完成它
postdata = {"2014":{"11":{"20"}},"date": curdate}
install_counter.update(postdata,{'$set':{},'$inc':{"2014":{"11":{"20":1}}}},true,false)
首先,您应该从查询中删除“$set”部分。
第二,增量的工作原理如下:
“$inc”:{“2014.11.20.Counts.c”:1}
我不确定您到底想做什么-插入一些如上所述的文档,或者增加嵌套的c
字段?看起来您想要递增c
,所以请尝试
collection.update({ "_id" : <_id of doc> }, { "$inc" : { "2014".11.19.Counts.c" : 1 } })
collection.update({“\u id”:},{“$inc”:{“2014.11.19.Counts.c”:1}})
如果这不是你想要的,你能更清楚地表达这个问题吗?完美,这正是我想要的,你知道一些心灵感应的人:)