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)