在mongodb中更新

时间:2013-12-27 19:07:22

标签: mongodb pymongo

mongoDB中有一个集合:

info = {
    "name":"me",
    "note":[
        {"date":"Dec.01",
         "item":"01",
        },
        {"date":"Dec.02",
         "item":"02",
        }
    ]
}

使用pymongo,如何直接将{"date":"Dec.03","item":"03"}推送到密钥“note”

2 个答案:

答案 0 :(得分:0)

您可以使用$addToSet运算符(请参阅documentation)。

答案 1 :(得分:0)

只需使用pymongo执行常规更新操作,并使用MongoDB自身提供的$push运算符。所以像这样:

collection.update({"name":"me"},{$push:{"note":{"date":"Dec.03","item":"03"}}});

以下是$push运算符的一些文档:http://docs.mongodb.org/manual/reference/operator/update/push/

另外,请注意$push运算符实际上是MongoDB本身的一部分,因此大多数使用Mongo的软件包,例如pymongo,支持此运算符。