我正在开发一个使用Elastich搜索和MongoDB的应用程序。elastic search使用MongoDB oplog通过名为river的组件对内容进行索引。
有没有可能重置MongoDB操作日志,使所有以前的条目消失?
发布于 2013-06-26 23:01:25
oplog用于复制,不应被篡改。
oplog是一个有上限的集合:
您不能从封顶集合中删除文档。要从已设置上限的集合中删除所有记录,请使用“emptycapped”命令。若要完全删除该集合,请使用drop()方法。
http://docs.mongodb.org/manual/core/capped-collections/
您可能希望使用tailable cursor并在您的河流中跟踪oplog。
发布于 2013-06-27 22:30:56
如果您的应用程序要连续读取oplog,则需要能够从特定的时间戳(ts)值启动。如果没有这种能力,如果应用程序(或mongod)出于任何原因不得不重启,它将不得不重新处理所有已经处理但仍在oplog中的oplog条目。如果应用程序确实能够从ts值开始,那么只需查询oplog以获取ts的最大值,并将其作为起点。
https://stackoverflow.com/questions/17320535
复制相似问题