MongoDB with python - 在一个查询中有两个动作

时间:2013-11-15 13:51:53

标签: python mongodb

我尝试在一个查询中更改包含2个操作的文档:

_userstats.update(
    {"nick" : nick},
    {"$set" : {"online" : True}},
    {"$inc" : {"joined" : 1}})

但是当我尝试这个时,我得到了错误:

raise TypeError("upsert must be an instance of bool")
TypeError: upsert must be an instance of bool

我不接受这个工作。 有人可以帮我弄清楚我的错是什么吗?

2 个答案:

答案 0 :(得分:1)

您应该将所有更新操作放在作为第二个参数传递的一个字典中update

_userstats.update(
    {"nick" : nick},
    {"$set" : {"online" : True}, "$inc" : {"joined" : 1}})

答案 1 :(得分:0)

您将第二个操作作为第三个参数传递,这不是update函数的工作方式。您应该将所有操作放在一个对象中。试试这个:

_userstats.update(
    {"nick" : nick},
    {{"$set" : {"online" : True}},
     {"$inc" : {"joined" : 1}}})