[英]MongoDB track which user mande changes
我們正在運行一個微服務架構,其中有多個系統可以訪問MongoDB中的共享集合(是的,有問題的設計,但我們正處於過渡期以擺脫這種局面。)
我們正試圖找到一種方法來跟蹤oplog中的哪些更改由哪個“用戶”/服務(每個微服務使用不同的憑據)實際進行了此更改。 如果我們在數據庫中發現任何無效的更改,這將使得找出哪個系統被淘汰非常容易。
有任何想法嗎?
到目前為止,我提出的唯一一個必須改變客戶端代碼,我想避免。
如果您可以維護列editors
,使每個操作都有{ $addToSet: { editors: { by: userId, at: new Date() } } }
,那么相應的oplog條目將具有您可以交叉的信息檢查您的訪問控制列表。
注意:您可能必須將插入更改為upserts,或者考慮另一種情況: .insert({ ..., editors: [{ by: userId, at: new Date() }] })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.