1. ホーム
  2. python

[解決済み] Mongo のドキュメントを挿入した後、どのように更新しますか?

2023-04-17 06:46:53

質問

ドキュメントを挿入するとします。

post = { some dictionary }
mongo_id = mycollection.insert(post)

さて、フィールドを追加して更新したいとします。どうすればいいのでしょうか?これではうまくいかないような......。

post = mycollection.find_one({"_id":mongo_id}) 
post['newfield'] = "abc"
mycollection.save(post)

どのように解決するのですか?

pymongoでは、以下の方法で更新することができます。

mycollection.update({'_id':mongo_id}, {"$set": post}, upsert=False)

Upsertパラメータは、投稿がデータベースで見つからない場合、更新の代わりに挿入を行います。

ドキュメントは mongodb サイト .

アップデイト バージョン > 3 では 更新 の代わりに 更新 :

mycollection.update_one({'_id':mongo_id}, {"$set": post}, upsert=False)