アップサートで更新操作を使用しています。更新後に変更されたすべてのドキュメントを取得したいと考えています。
for key in categories_links:
collection.update({"name" : key}, {"name": key ,"url" : categories_links[key]}, True)
私の知る限り、pymongo は更新によって変更されたすべてのレコードのリストを返しません。
ただし、レプリカセットを使用している場合は、 oplogを見ることでこれを達成できる場合があります。
ドキュメントによると:
べき等性を維持するために、oplog は複数の更新を個々の操作に変換する必要があります。これにより、対応するデータ サイズやディスク使用量を増やすことなく、大量の oplog スペースを使用できます。
更新されている各要素を追跡したい場合は、代わりに find() を実行してから、それらをループして、それぞれに対して個別の update() を実行します。明らかにこれははるかに遅くなりますが、おそらく特定のユースケースのトレードオフです。