Truy vấn nâng cao trong MongoDB

Các toán tử so sánh

Khi truy vấn dữ liệu với các điều kiện so sánh chúng ta có thể sử dụng các toán tử so sánh:

  • Toán tử $eq sử dụng để khớp các giá trị bằng với một giá trị được chỉ định
    • Cú pháp:
      {<field>:<value>}
      {<field>:{$eq:<value>}}
    • Ví dụ:
      db.students.find({"student_id":"S2020.0016"}).pretty()​

      hoặc

      db.students.find({"student_id": {$eq:"S2020.0016")}).pretty()​
  • Toán tử $lt sử dụng để khớp các giá trị nhỏ hơn một giá trị được chỉ định
    • Cú pháp:
      {<key>:{$lt:<value>}}
    • Ví dụ:
      db.students.find({"gpa":{$lt:7}}).pretty()​
  •  Toán tử $lte sử dụng khớp các giá trị nhỏ hơn hoặc bằng một giá trị được chỉ định
    • Cú pháp:
      {<key>:{$lte:<value>}}
    • Ví dụ:
      db.students.find({"gpa":{$lte:7}}).pretty()​
  •  Toán tử $gt sử dụng khớp các giá trị lớn hơn một giá trị được chỉ định
    • Cú pháp:
      {<key>:{$gt:<value>}}
    • Ví dụ:
      db.students.find({"gpa":{$gt:7}}).pretty()​
  • Toán tử $gte sử dụng để khớp các giá trị lớn hơn hoặc bằng một giá trị được chỉ định
    • Cú pháp:
      {<key>:{$gte:<value>}}
    • Ví dụ:
      db.students.find({"gpa":{$gte:7}}).pretty()​
  • Toán tử $in sử dụng để khớp với bất kỳ giá trị nào được chỉ định trong một mảng
    • Cú pháp:
      { field: { $in: [<value1>, <value2>, ... <valueN>]} }
    • Ví dụ:
      db.students.find({ last_name: { $in: ["Hoà", "Hương"]}}).pretty()
  • Toán tử $ne sử dụng để khớp tất cả các giá trị không bằng một giá trị được chỉ định
    • Cú pháp:
      {<key>:{$ne:<value>}}
    • Ví dụ:
      db.students.find({"gpa":{$ne:7}}).pretty()​
  • Toán tử $nin sử dụng để không khớp với các giá trị được chỉ định trong một mảng
    • Cú pháp:
      { field: { $nin: [<value1>, <value2>, ... <valueN>] } }
    • Ví dụ:
      db.students.find({ last_name: { $nin: ["Hoà", "Hương"]}}).pretty()