关于MongoDB的全面概述以及我关于它的所有帖子,请查看我的概述。
MongoDB有一个方便的方法叫findOne ,它和find 方法非常相似,只是它返回实际的文档而不是游标,而且它只返回第一个文档。如果你需要从一个查询中返回多个文档,你将不得不暂时坚持使用find 或findMany 方法。
如果我们把这里显示的文档放在一个叫做users 的集合中:
{
"name": "John Doe",
"email": "test@test.com",
"admin": false
},
{
"name": "Jane Doe",
"email": "test2@test2.com",
"admin": true
},
{
"name": "Bob Doe",
"email": "bob@bob.com",
"admin": true
}
如果我们在MongoDB中运行以下命令:
db.users.findOne()
它将返回users 集合中的第一个文档,因为我们没有指定任何过滤器:
{
"name": "John Doe",
"email": "test@test.com",
"admin": false
}
如果我们指定我们只想要admin 的用户:
db.users.findOne({admin: true})
即使有两个用户满足该过滤器,我们也只会得到Jane Doe ,因为她是第一个符合该过滤器的文档:
{
"name": "Jane Doe",
"email": "test2@test2.com",
"admin": true
}