#python #flask #pymongo
Вопрос:
Я хочу получить идентификатор документа, когда я это делаю и вставляю, в настоящее время flask-pymongo возвращает идентификатор объекта только при вставке документа, но не при обновлении.
Я использую следующий код:
a = mongo.db.abcd.update_one(
{'abcd': 'abcd1'}, {"$set": {"abcd": "abcd2"}}, upsert=True)
for value in a.raw_result.items():
print(value)
Есть ли какой-нибудь способ вернуть идентификатор?
Спасибо
Ответ №1:
update_one()
возвращает экземпляр UpdateResult
(https://pymongo.readthedocs.io/en/stable/api/pymongo/collection.html#pymongo.collection.Collection.update_one) и UpdateResult имеют свойство upserted_id
.
В документации указано: _id вставленного документа, если произошла замена. В противном Случае-Нет.
Похоже, это то, что тебе нужно