在 MongoDB 中,我们使用 find 查询记录时,默认会返回所有匹配的结果,如果我们仅仅需要返回一条匹配的结果,我们可以使用 limit,我们还可以使用 findOne 直接返回匹配的一条记录。
db_name.collection_name.findOne({query})
参数 | 描述 |
---|---|
db_name | 数据库名 |
collection_name | 集合名 |
query | 查询条件 |
使用 findOne 默认返回一条匹配的结果。
我们首先,使用 mongo 命令,连接上数据库,具体命令如下:
mongo
如下图所示:
现在,我们使用 use 命令,切换到 haicoder 数据库,具体命令如下:
use haicoder
现在,我们使用 insertMany 插入三条记录,具体命令如下:
db.haicoder.insertMany([{"name":"haicoder", "url":"haicoder.net"}, {"name":"mhaicoder", "url":"haicoder.net"}, {"name":"mhaicoder", "url":"m.haicoder.net"}])
执行完毕后,此时,如下图所示:
我们看到,此时提示我们成功插入了三条记录,现在,我们使用 findOne 查询满足条件的单条记录,具体命令如下:
db.haicoder.findOne({"name":"mhaicoder"}, {_id:0})
执行完毕后,此时,如下图所示:
3
我们看到,此时明明有两条记录匹配,但只返回了一条,我们再次使用 findOne 进行查询,具体命令如下:
db.haicoder.findOne({"url":"haicoder.net"}, {_id:0})
执行完毕后,此时,如下图所示:
我们看到,此时同样返回了一条匹配的记录。
在 MongoDB 中,我们使用 find 查询记录时,默认会返回所有匹配的结果,如果我们仅仅需要返回一条匹配的结果,我们可以使用 limit,我们还可以使用 findOne 直接返回匹配的一条记录。