![](/img/trans.png)
[英]BulkWrite operation in MongoDB failing with invalid escape sequence
[英]Get collection operation sequence MongoDB
我需要通過守護程序在運行時獲取收集操作的序列,以將其寫入類似於消息代理的系統。 從指定位置讀取歷史的必要能力
也許我可以通過閱讀opLog來解決這個問題。
使用 MongoDB v4.2
使用 opLog 是正確的解決方案嗎?
oplog 格式是內部的,旨在支持復制。 作為一種內部格式,它可能會在主要服務器版本之間發生變化,並且不易於使用。
您應該改用基於 oplog 的Change Streams API ,它允許訂閱集合、數據庫或部署級別的數據更改。 與直接 oplog 訪問不同,變更流有一個文檔化的 API,可以通過訪問控制進行限制,可以對流輸出執行一些過濾和修改,並且可以擴展以支持副本集和分片集群。 如果中斷,也可以恢復更改流。
從指定位置讀取歷史的必要能力
MongoDB 4.0+ 中的更改流允許您指定startAtOperationTime
以在特定時間點打開游標。 如果指定的起點在過去,則必須在oplog的時間范圍內。
oplog 是否包含所有數據庫的記錄,而不是被集合分割?
oplog 是一個有上限的集合,包含副本集或分片的所有數據更改的滾動歷史記錄。 上限集合方面意味着 oplog 具有有限的歷史窗口:一旦達到最大 oplog 大小,最舊的條目將被刪除,以便為新文檔騰出空間。 local.oplog.rs
數據未按集合或命名空間過濾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.