Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pymongo upsert子集合中的增量_Python_Mongodb_Python 2.7_Pymongo - Fatal编程技术网

Python pymongo upsert子集合中的增量

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 } } } } } 事实上,我每天都能数到一些事件,所以将来我应该能够数到某一天的事件,或者如果我想数到几天的话,我甚至可以把它们加起

我有一个mongo db对象,我想以

{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}})

如果这不是你想要的,你能更清楚地表达这个问题吗?

完美,这正是我想要的,你知道一些心灵感应的人:)