我试图在MongoDB中插入记录,但我不想重复,所以我使用
update
命令与
upsert=true
import pymongo
client = pymongo.MongoClient(settings.MONGO_DB_URI)
db = self.client[settings.MONGO_DB_NAME]
filter = {
'my_id': '1234',
'name': 'alok'
}
record = {
'my_id': '1234',
'name': 'alok',
'marks': 26
}
status = db['mycollection'].update(filter, {'$setOnInsert': record}, upsert=True)
print('id is ', status['my_id']) # this will not work but I want such behaviour
只有在没有匹配筛选值的现有记录时,此代码才会插入记录。所以有两种情况:
它将插入记录
如果已经存在,则不会插入记录
在这两种情况下我都想
my_id
. 更新命令执行时,如何获取我的帐户ID?