Python MongoDB 查詢

篩選結果

在集合中查找文檔時,您能夠使用 query 對象過濾結果。

find() 方法的第一個參數是 query 對象,用于限定搜索。

實例

查找地址為 "Park Lane 38" 的文檔:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": "Park Lane 38" }
mydoc = mycol.find(myquery)
for x in mydoc:
  print(x)

運行實例

高級查詢

如需進行高級查詢,可以使用修飾符作為查詢對象中的值。

例如,要查找 "address" 字段以字母 "S" 或更高(按字母順序)開頭的文檔,請使用大于修飾符:{"$gt": "S"}

實例

查找地址以字母 "S" 或更高開頭的文檔:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$gt": "S" } }
mydoc = mycol.find(myquery)
for x in mydoc:
  print(x)

運行實例

使用正則表達式來篩選

您也可以將正則表達式用作修飾符。

正則表達式只能用于查詢字符串。

如果只查找 "address" 字段以字母 "S" 開頭的文檔,請使用正則表達式 {"$regex": "^S"}

實例

查找地址以字母 "S" 開頭的文檔:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$regex": "^S" } }
mydoc = mycol.find(myquery)
for x in mydoc:
  print(x)

運行實例