参考までにpymongoを使用しています。
したがって、このようなドキュメントがある場合:
{
'name': 'bill',
'color': 'blue',
'subdocument': {
'title': 'Untitled',
'content': 'Hello World',
}
}
このドキュメントがdb.users.find()[0]を実行しているのを見つけて、それを更新する引数として渡すと、サブドキュメントを削除しない限り、Mongoは更新するドキュメントを見つけられません。サブドキュメントが削除されない限り、見つかったドキュメントをfind_oneに渡すことも失敗します。
ロックを最適化するために、すべてのフィールドを指定する必要があります。ドキュメントを簡単に取得して更新し、変更されていないための要件として元のフィールドを渡すにはどうすればよいですか?