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