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 テイラーの領域外の解決策、およびこのコマンドの正規化プロセスのドキュメントへのポインタを歓迎します - 私はそれを見つけることができません。
ありがとう!