这行代码不理解
代码
// 查询所有数据
const cursor = userCollection.find(); // 返回一个指针
console.log("cursor", Object.prototype.toString.call(cursor)); // cursor [object Object]
await cursor.forEach((doc) => console.log(doc));
这种 await + forEach 写法我还从来没有见过。麻烦老师详细解释一下,有些蒙
cursor 是一个对象(非数组),cursor对象上是自己写了一个方法叫 forEach 吗?
11
收起
正在回答
1回答
同学你好
这段代码有点 mongodb 自创的意思,平时一般不会写这样的代码,你的理解是正确的它整体是一个对象,上面有一个 foreach,然后整个 forEach 应该是返回了异步,所以可以被 await。
我建议你使用它文档中另外一种方式对多个异步的对象进行循环,更好用,更通用。
const cursor = collection.find({}); console.log("async"); for await (const doc of cursor) { console.log(doc); }
这种方式很常见,很好用也好理解,请记住。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星