2015-02-09 91 views
2

我想为这UPSERT例如:的MongoDB和PyMongo:的Upsert多个值

response = ips.update(
      { "domain":domain }, {"date":date}, 
      { "$set":{"visitors":visitors, "totalviews":totalViews} }, upsert=True) 

,但我得到:

TypeError: update() got multiple values for keyword argument 'upsert' 

回答

3

使用$and运算符来匹配您的更新查询:

db.test.update({"$and": [{date:"date"}, {domain:"domain"}]}, {"$set":{visitors:[]}}) 

参见:MongoDB: Pull complete Key:Array Pair

+1

您也可以将两个键放在一个字典中:'{“date”:date,“domain”:domain}'。隐含的操作是。 – wdberkeley 2015-02-09 18:35:37