关于MongoDB的全面概述以及我关于它的所有帖子,请查看我的概述。
虽然你可以使用find方法从MongoDB中读出多个文档,但你更可能只想要这些数据的一个子集。find 方法可以接受两个参数,第一个参数决定了游标返回的数据是什么。你经常看到或听到这个第一个参数被称为 "查询",而不是过滤器。
给定的数据在一个叫做users
{
"name": "John Doe",
"email": "test@test.com",
"admin": false
},
{
"name": "Jane Doe",
"email": "test2@test2.com",
"admin": false
}
如果我想只得到电子邮件为 "test@test.com "的用户,你可以通过传入一个带有一些表达式的对象来实现,MongoDB将使用这些表达式来决定返回哪些数据。
db.users.find({email: "test@test.com"})
将会返回:
{
"name": "John Doe",
"email": "test@test.com",
"admin": false
}
获取所有的管理员用户。
db.users.find({admin: true})
将不返回,因为我们在该数据集中没有管理员用户。
你也可以在多个字段上进行匹配:
db.users.find({admin: false, email: "test2@test2.com"})
将会返回:
{
"name": "Jane Doe",
"email": "test2@test2.com",
"admin": false
}