我很好奇,在可用性和性能方面,使用可调整游标与使用带过滤器的更改流对capped集合执行insert操作的优缺点。
我有一个包含更新对象的capped集合。此集合的唯一可能操作是插入新的更新(作为新记录),我需要将其中继到我的应用程序后端,并通过SSE/WebSockets实时分发。我将在查询中使用一个参数进行订阅,它是一个时间戳,是对象属性的一部分。集合在该字段上有一个索引。我'我还将对新添加的记录进行一些基本的筛选,因此ChangeStreams的聚合框架将很有帮助。
我读过:What is the difference between a changeStream and tailable cursor in MongoDB,它概括了可裁剪游标和变更流之间的区别。
另外,关于Capped Collections的mongodb文章只说明了Tailable游标方法,而the article on Tailable cursors说明它们不使用索引,您应该使用普通游标来获取结果。
简而言之,我需要一个完全基于在集合中插入新记录的可靠的集合更新流。
1条答案
按热度按时间guicsvcw1#
创建了可调整的游标和capped集合,以支持将操作日志从主节点复制到辅助节点。对于任何其他活动,推荐的方法是ChangeStream。更改流与MongoDB身份验证模型集成,群集和分片群集级别。可调整的游标只能在单个集合上工作,并且不可恢复。所有正式的MongoDB Drivers都支持更改流。