注意:
set中的属性记录不能相同
mongo更新语句使用set、upsert的区别
对于查询到的记录。
使用setOnInsert、upsert存在则不操作,不存在则新增
# !/bin/env python
# encoding:utf-8
import os
from pymongo import MongoClient
# 连接数据库
conn=MongoClient('127.0.0.1', 27017)
# conn = pymongo.Connection('115.28.55.217', 27017)
db=conn.haha
# db.users.remove()
# Insert & Save
# db.users.insert({'name': 'user1', 'age': 16, 'index': 1})
# db.users.insert({'name': 'user2', 'age': 17, 'index': 2})
db.users.insert({'_id': 1, 'age': 18, 'index': 3})
json={
'age': 555555,
'index': 33335,
"name":"linxiao"
}
id=1
db.users.update({'_id': id}, {'$set': json, '$setOnInsert':{'_id': id}}, upsert=True)
# 查看插入状态
status = db.command('getlasterror')['updatedExisting']
print(status) # true为更新操作,false为插入操作
网友评论