假设我在inventory
集合中有一个看起来像的条目
{ _id: 1, item: "polarizing_filter", tags: [ "electronics", "camera" ]}
我发出命令
db.inventory.update(
{ _id: 1 },
{ $addToSet: { tags: "accessories" } }
)
我有一个 oplog tailer,并且想知道,具体来说,"accessories"
它已添加到此文档的tags
字段中。据我所知,oplog 总是规范化使用$set
和$unset
维护幂等性的命令。在这种情况下,描述更新的条目字段将显示类似
{$set : { tags : ["electronics", "camera", "accessories"] } }
这使得无法知道此更新实际添加了哪些标签。有没有办法做到这一点?我也很好奇通过删除修改字段的类似情况,例如通过$pull
. 欢迎使用 oplog tailer 领域之外的解决方案,以及指向此命令规范化过程文档的指针 - 我找不到它。
谢谢!