gpt4 book ai didi

MongoDB - 这有效吗?

转载 作者:可可西里 更新时间:2023-11-01 10:00:57 27 4
gpt4 key购买 nike

我在 mongodb 中有一个集合 users。我正在使用节点/mongodb API。

如果我去,在我的 node.js 中:

var users = db.collection("users");

然后

users.findOne({ ... })

这是惯用的和有效的吗?

我想避免将所有用户加载到应用程序内存中。

最佳答案

在 Mongo 中,collection.find() 返回一个 cursor,它是与您的查询匹配的结果的抽象表示。在您通过调用 cursor.next() 遍历游标之前,它不会通过线路返回您的结果。在对其进行迭代之前,您可以调用 cursor.limit(x) 来限制允许返回的结果数。

collection.findOne() 实际上只是 collection.find().limit(1).next() 的快捷版本。因此游标永远不允许返回多个结果。

如前所述,collection 对象本身是一个允许访问集合的外观,但它不在内存中保存任何实际文档。

findOne() 非常高效,而且确实是惯用的,尽管 IME 它更多地用于开发/调试而不是实际应用程序代码。它在 CLI 中非常有用,但实际应用程序需要多长时间才需要从集合中抓取任何一个文档?我能想到的唯一情况是给定的查询只能返回一个文档(即有效的主键)。

进一步阅读: Cursors , Read Operations

关于MongoDB - 这有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21557014/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com