0

假设我在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 领域之外的解决方案,以及指向此命令规范化过程文档的指针 - 我找不到它。

谢谢!

4

0 回答 0