Python MongoDB Find
在 MongoDB 中,我们使用 find()
和 find_one()
方法来查找集合中的数据。
这就像在 MySQL 数据库的表中查找数据时使用 SELECT 语句一样。
Find One
要从 MongoDB 的集合中选择数据,我们可以使用 find_one()
方法。
该 find_one()
方法返回选中的第一个匹配项。
示例
查找 customers 集合中的第一个文档
import pymongo
myclient = pymongo.MongoClient("mongodb://:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.find_one()
print(x)
运行示例 »
Find All
要从 MongoDB 的表中选择数据,我们也可以使用 find()
方法。
该 find()
方法返回选中的所有匹配项。
find() 方法的第一个参数是一个查询对象。在此示例中,我们使用一个空的查询对象,它选择集合中的所有文档。
find() 方法不带参数的结果与 MySQL 中的 SELECT * 相同。
示例
返回 "customers" 集合中的所有文档,并打印每个文档
import pymongo
myclient = pymongo.MongoClient("mongodb://:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find()
print(x)
运行示例 »
仅返回某些字段
find() 方法的第二个参数是一个描述要包含在结果中的字段的对象。
此参数是可选的,如果省略,则结果中将包含所有字段。
示例
仅返回姓名和地址,不包括 _id
import pymongo
myclient = pymongo.MongoClient("mongodb://:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "_id": 0, "name": 1, "address": 1 })
print(x)
运行示例 »
您不能在同一个对象中同时指定 0 和 1 值(除非其中一个字段是 _id 字段)。如果指定一个字段值为 0,则所有其他字段都取值为 1,反之亦然。
示例
此示例将从结果中排除 "address"
import pymongo
myclient = pymongo.MongoClient("mongodb://:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "address": 0 })
print(x)
运行示例 »
示例
如果在同一个对象中指定了 0 和 1 值(除非其中一个字段是 _id 字段),您将收到一个错误。
import pymongo
myclient = pymongo.MongoClient("mongodb://:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "name": 1, "address": 0 })
print(x)