我尝试在一个查询中更改包含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
我不接受这个工作。 有人可以帮我弄清楚我的错是什么吗?
答案 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}}})