有关mongodb上限集合+ tailable游标的问题

Cas*_*ynn 5 database multithreading multiprocessing mongodb

我正在构建一个排队系统,通过使用capped_collections和tailable游标在mongodb中实现的堆栈将消息从一个进程传递到另一个进程.

接收进程在capped_collection中循环无限地寻找新文档,当它找到一个时,它执行一个操作.

我的问题是,如果我实现了多个接收进程,是否有办法保证新文档只能由一个使用tailable游标的进程读取一次?目标是如果有两个接收进程在队列中查找新消息,则避免执行两次操作.我对mongodb编程比较陌生,所以我仍然对它的所有功能都有所了解.

Ian*_*cer 2

MongoDB文档包含实现原子更新的方法的全面描述。您无法确保只有一个进程收到新文档,但您可以在收到新文档后实现原子更新,以确保只有一个进程对其进行操作。