MongoDB查询单条记录findOne

MongoDB查询单条记录findOne

MongoDB 中,我们使用 find 查询记录时,默认会返回所有匹配的结果,如果我们仅仅需要返回一条匹配的结果,我们可以使用 limit,我们还可以使用 findOne 直接返回匹配的一条记录。

MongoDB findOne详解

语法

db_name.collection_name.findOne({query})

参数

参数 描述
db_name 数据库名
collection_name 集合名
query 查询条件

说明

使用 findOne 默认返回一条匹配的结果。

案例

我们首先,使用 mongo 命令,连接上数据库,具体命令如下:

mongo

如下图所示:

128_mongodb findOne.png

现在,我们使用 use 命令,切换到 haicoder 数据库,具体命令如下:

use haicoder

现在,我们使用 insertMany 插入三条记录,具体命令如下:

db.haicoder.insertMany([{"name":"haicoder", "url":"haicoder.net"}, {"name":"mhaicoder", "url":"haicoder.net"}, {"name":"mhaicoder", "url":"m.haicoder.net"}])

执行完毕后,此时,如下图所示:

129_mongodb findOne.png

我们看到,此时提示我们成功插入了三条记录,现在,我们使用 findOne 查询满足条件的单条记录,具体命令如下:

db.haicoder.findOne({"name":"mhaicoder"}, {_id:0})

执行完毕后,此时,如下图所示:

130_mongodb findOne.png3

我们看到,此时明明有两条记录匹配,但只返回了一条,我们再次使用 findOne 进行查询,具体命令如下:

db.haicoder.findOne({"url":"haicoder.net"}, {_id:0})

执行完毕后,此时,如下图所示:

131_mongodb findOne.png

我们看到,此时同样返回了一条匹配的记录。

MongoDB查询单条记录findOne总结

在 MongoDB 中,我们使用 find 查询记录时,默认会返回所有匹配的结果,如果我们仅仅需要返回一条匹配的结果,我们可以使用 limit,我们还可以使用 findOne 直接返回匹配的一条记录。