在 MongoDB 中,读取操作包括查询数据库。此页面提供示例。
您可以使用以下方法在MongoDB中查询文档:
您的编程语言的驱动程序。
MongoDB Atlas 用户界面。要了解更多信息,请参阅使用 MongoDB Atlas 查询 null 或缺失字段。
提示
您可以使用大型语言模型为您生成查询。要了解更多信息,请参阅自然语言到 MongoDB 查询。
其他查询教程
有关更多查询示例,请参阅:
行为
Cursor
使用游标时的并发更新
当游标返回文档时,其他操作可能会在背景运行并影响结果,具体取决于读关注(read concern)级别。 有关详细信息,请参阅读取隔离性、一致性和新近度。
读取隔离性
对于对副本集和副本集分片的读取,读关注(read concern)允许客户端为其读取选择隔离性级别。有关更多信息,请参阅读关注(read concern)。
查询结果格式
当您使用MongoDB驱动程序或 mongosh 运行查找操作时,MongoDB会返回一个用于管理查询结果的游标。查询结果不会以文档数组的形式返回。
要学习;了解如何在游标中遍历文档,请参阅驱动程序文档。如果您使用的是 mongosh,请参阅mongosh 中的迭代游标。
查询溢出
如果查询超过 100 MB 或可用内存,则会溢出到磁盘。它会将中间数据写入存储以节省内存,这可能会导致性能下降。使用 allowDiskUseByDefault 参数或 cursor.allowDiskUse() 方法来配置此行为。
对于使用 Atlas Infinite 的 Atlas 部署,计算和存储是分离的,因此查询会溢出到执行查询的计算节点。有关更多信息,请参阅 Atlas Infinite 集群上的查询溢出。