首页 > 解决方案 > Mongoose 更改流“hasNext()”行为始终为真

问题描述

我的问题是循环永远不会终止。

这是我的 changeStream 对象:

const changeStreamIterator = userModel.User.collection.watch(filter, {
     fullDocument: "default",
     startAtOperationTime: startAtOperationTime,
     readPreference: "primary",
});

使用此代码读取结果:

   while (await changeStreamIterator.hasNext()) {
               
           let change = await changeStreamIterator.next();

           console.log("change");
   }
.
.
.

在上面的代码之后,我的代码没有恢复。

标签: javascriptnode.jsmongodbmongoose

解决方案


变更流是无限长的。如果你做一个循环迭代它,这个循环将是一个无限循环。

使用节点中可用的模式同时执行其他工作。


推荐阅读