Mongodb: วิธีใช้มากกว่า & น้อยกว่าในการสืบค้น


คุณสามารถใช้ตัวดำเนินการต่อไปนี้ใน MongoDB เพื่อสอบถามขึ้นหรือลง:

  • $lt : น้อยกว่า
  • $lte : น้อยกว่าหรือเท่ากับ
  • $gt : มากกว่า
  • $gte : มากกว่าหรือเท่ากับ

วิธีการต่อไปนี้แสดงวิธีทั่วไปในการใช้ตัวดำเนินการเหล่านี้:

วิธีที่ 1: มากกว่าแบบสอบถาม

 db.myCollection.find({field1: { $gt : 25 }})

วิธีที่ 2: น้อยกว่าแบบสอบถาม

 db.myCollection.find({field1: { $lt : 25 }})

วิธีที่ 3: แบบสอบถามที่มากกว่า และ น้อยกว่า

 db.myCollection.find({field1: { $gt : 25 , $lt : 32 }})

วิธีที่ 4: แบบสอบถามมากกว่า หรือ น้อยกว่า

 db.myCollection.find({ " $or ": [ {" field1 ": { $gt : 30 }}, {" field1 ": { $lt : 20 }} ] })

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ ทีม เรียกเก็บเงินโดยมีเอกสารดังต่อไปนี้:

 db.teams.insertOne({team: " Mavs ", points: 31})
db.teams.insertOne({team: " Spurs ", points: 22})
db.teams.insertOne({team: " Rockets ", points: 19})
db.teams.insertOne({team: " Warriors ", points: 26})
db.teams.insertOne({team: " Cavs ", points: 33})

ตัวอย่างที่ 1: ข้อความค้นหาที่มากกว่า

รหัสต่อไปนี้แสดงวิธีการสอบถามเอกสารทั้งหมดที่มีค่าในช่อง “จุด” มากกว่า 25:

 db.teams.find({points: { $gt : 25 }})

แบบสอบถามนี้ส่งคืนเอกสารต่อไปนี้:

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7652"),
  team: 'Warriors',
  points: 26 }
{ _id: ObjectId("6203e4a91e95a9885e1e7653"),
  team: 'Cavs',
  points: 33 }

โปรดทราบว่าเอกสารเอาต์พุตทั้งสามรายการมีค่าในช่อง “คะแนน” มากกว่า 25

ตัวอย่างที่ 2: แบบสอบถามน้อยกว่า

รหัสต่อไปนี้แสดงวิธีการสอบถามเอกสารทั้งหมดที่มีค่าในช่อง “จุด” น้อยกว่า 25:

 db.teams.find({points: { $lt : 25 }})

แบบสอบถามนี้ส่งคืนเอกสารต่อไปนี้:

 { _id: ObjectId("6203e4a91e95a9885e1e7650"),
  team: 'Spurs',
  points: 22 }
{ _id: ObjectId("6203e4a91e95a9885e1e7651"),
  team: 'Rockets',
  points: 19 }

โปรดทราบว่าเอกสารเอาต์พุตทั้งสองมีค่าในช่อง “คะแนน” น้อยกว่า 25

ตัวอย่างที่ 3: มากกว่า และ น้อยกว่า

รหัสต่อไปนี้แสดงวิธีการสอบถามเอกสารทั้งหมดที่มีค่าในช่อง “คะแนน” มากกว่า 25 และ น้อยกว่า 32:

 db.teams.find({points: { $gt : 25 , $lt : 32 }})

แบบสอบถามนี้ส่งคืนเอกสารต่อไปนี้:

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7652"),
  team: 'Warriors',
  points: 26 }

โปรดทราบว่าเอกสารเอาต์พุตทั้งสองมีค่าในช่อง “คะแนน” มากกว่า 25 และ น้อยกว่า 32

ตัวอย่างที่ 4: มากกว่า หรือ น้อยกว่า

รหัสต่อไปนี้แสดงวิธีการสอบถามเอกสารทั้งหมดที่มีค่าในช่อง “คะแนน” มากกว่า 30 หรือ น้อยกว่า 20:

 db.teams.find({ " $or ": [ {" points ": { $gt : 30 }}, {" points ": { $lt : 20 }} ] })

แบบสอบถามนี้ส่งคืนเอกสารต่อไปนี้:

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7651"),
  team: 'Rockets',
  points: 19 }
{ _id: ObjectId("6203e4a91e95a9885e1e7653"),
  team: 'Cavs',
  points: 33 }

โปรดทราบว่าเอกสารเอาต์พุตแต่ละรายการมีค่าในช่อง “คะแนน” มากกว่า 30 หรือ น้อยกว่า 20

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน MongoDB:

MongoDB: วิธีค้นหาด้วยช่วงวันที่
MongoDB: วิธีใช้แบบสอบถาม “NO IN”
MongoDB: วิธีค้นหา “ไม่เป็นโมฆะ” ในฟิลด์เฉพาะ

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *