0

inventoryコレクションに次のようなエントリがあるとします

{ _id: 1, item: "polarizing_filter", tags: [ "electronics", "camera" ]}

そして、私はコマンドを発行します

db.inventory.update(
   { _id: 1 },
   { $addToSet: { tags: "accessories" } }
)

私は oplog テーラーを持っています。具体的に"accessories"は、このドキュメントのtagsフィールドに追加されたことを知りたいです。私が知る限り、oplog は常に使用するコマンドを正規化し、$set$unset等性を維持します。この場合、更新を説明するエントリのフィールドは次のようになります。

{$set : { tags : ["electronics", "camera", "accessories"] } }

これにより、この更新によって実際に追加されたタグを知ることができなくなります。とにかくこれを行うことはありますか?また、削除によってフィールドが変更される類似のケースについても興味があります$pull。oplog テイラーの領域外の解決策、およびこのコマンドの正規化プロセスのドキュメントへのポインタを歓迎します - 私はそれを見つけることができません。

ありがとう!

4

0 に答える 0