这是有关如何使用mongoose
光标的文档。
http://mongoosejs.com/docs/api.html#query_Query-cursor
这是我的用法:
async booksByCursor(_, { cursor: id, limit }, ctx) {
let datas = [];
let lastDataId = '';
const cursor = ctx.models.Book.find({ _id: { $gt: id } })
.limit(limit)
.cursor();
try {
for (let data = await cursor.next(); data != null; data = await cursor.next()) {
datas.push(data);
}
} catch (error) {
console.log(error);
}
}
eslint会对此代码风格发出警告:[eslint] Unexpected
等待inside a loop. (no-await-in-loop)
我知道我可以关闭此规则。但是我认为mongoose
的官方例子比较松散。
那么,如何使用async/await
来写这个呢?