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: วิธีค้นหา “ไม่เป็นโมฆะ” ในฟิลด์เฉพาะ