Python MongoDB การค้นหา

กรองผลลัพธ์

เมื่อค้นหาเอกสารในคอลเลกชัน คุณสามารถใช้ query object ในการกรองผลลัพธ์

find() ตัวแปรที่แรกของฟังก์ชันคือ query object ซึ่งใช้เพื่อจำกัดการค้นหา

ตัวอย่าง

ค้นหาเอกสารที่มีที่อยู่ว่า "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)

ปฏิบัติตัวอย่าง

การค้นหาขั้นสูง

สำหรับการค้นหาขั้นสูง คุณสามารถใช้ประกายเกินเป็นค่าในประกายของการค้นหา

ตัวอย่าง ถ้าค้นหาเอกสารที่ที่อยู่เริ่มต้นด้วยตัวอักษร "S" หรือสูงกว่า (ตามลำดับภาษาอักษร) ในช่อง "address" ใช้ประกายเกิน{"$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)

ปฏิบัติตัวอย่าง

การใช้ประมาณการแสดงทางตัวอักษรเพื่อกรอง

คุณยังสามารถใช้ประมาณการแสดงทางตัวอักษรเป็นประกาย

ประมาณการแสดงทางตัวอักษรสามารถใช้ในการค้นหาข้อความเท่านั้น

ถ้าค้นหาเอกสารที่ที่อยู่เริ่มต้นด้วยตัวอักษร "S" ในช่อง "address" ใช้ประมาณการแสดงทางตัวอักษร {"$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)

ปฏิบัติตัวอย่าง