MongoDB 教程

浏览4896
更新时间2025-08-13

查找数据

在 MongoDB 集合中查找和选择数据有两种方法:find()findOne()

find()

要从 MongoDB 中的集合中选择数据,我们可以使用 find() 方法。

该方法接受一个查询对象。如果留空,将返回所有文档。

实例

db.posts.find()

运行实例

findOne()

要仅选择一个文档,我们可以使用 findOne() 方法。

该方法接受一个查询对象。如果留空,它将返回找到的第一个文档。

注意:此方法仅返回它找到的第一个匹配项。

实例

db.posts.findOne()

运行实例

查询数据

要查询或过滤数据,我们可以在 find()findOne() 方法中包含查询。

实例

db.posts.find( {category: "News"} )

运行实例

投影

两种 find 方法都接受第二个参数,称为投影

该参数是一个对象,描述结果中包含哪些字段。

注意:该参数是可选的。如果省略,结果中将包含所有字段。

实例

此例仅在结果中显示 titledate 字段。

db.posts.find({}, {title: 1, date: 1})

运行实例

请注意,_id 字段也包括在内。除非明确排除,否则始终包含此字段。

我们使用 1 来包含字段,使用 0 来排除字段。

实例

这次,我们排除 _id 字段。

db.posts.find({}, {_id: 0, title: 1, date: 1})

运行实例

注意:不能在同一个对象中同时使用 0 和 1。唯一的例外是 _id 字段。您应该指定要包含的字段或要排除的字段。

让我们排除日期类别字段。所有其他字段都将包含在结果中。

实例

db.posts.find({}, {category: 0})

运行实例

如果我们尝试在同一个对象中同时指定 0 和 1,将会收到错误。

实例

db.posts.find({}, {title: 1, date: 0})

运行实例

相关视频

更多

免费

MySQLi面向过程极速入门
中级MySQLi面向过程极速入门

129788次学习

收藏

免费

MySQLi面向对象编程极速入门
中级MySQLi面向对象编程极速入门

71556次学习

收藏

免费

MySQL权威开发指南(教程)
初级MySQL权威开发指南(教程)

154772次学习

收藏

免费

MySQL高级进阶视频教程
高级MySQL高级进阶视频教程

131506次学习

收藏
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号