如何在 Mongoose 中查找所有文档

发布于 2022-08-05 12:37:11 字数 1262 浏览 17 评论 0

假设你有一个 Mongoose 模型 User 包含您应用的所有用户。 要获取集合中所有用户的列表,请调用 User.find() 以空对象作为第一个参数:

const User = mongoose.model('User', Schema({
  name: String,
  email: String
}));

// Empty `filter` means "match all documents"
const filter = {};
const all = await User.find(filter);

等效地,您可以调用 User.find() 没有参数并得到相同的结果。

await User.find();

光标

假设您的应用程序非常受欢迎并且您拥有数百万用户。 一次将所有用户加载到内存中是行不通的。 要一次循环遍历所有用户而不一次将它们全部加载到内存中,请使用 cursor

const User = mongoose.model('User', Schema({
  name: String,
  email: String
}));

// Note no `await` here
const cursor = User.find().cursor();

for (let doc = await cursor.next(); doc != null; doc = await cursor.next()) {
  // Use `doc`
}

或者,您可以使用 异步迭代器

for await (const doc of User.find()) {
  // use `doc`
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

列表为空,暂无数据

关于作者

乞讨

暂无简介

0 文章
0 评论
711 人气
更多

推荐作者

遥远的她

文章 0 评论 0

情深如许

文章 0 评论 0

18120987591

文章 0 评论 0

女皇必胜

文章 0 评论 0

13002228876

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击“接受”或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。