Mongodb: cara menggunakan operator and ($and) dalam kueri


Anda dapat menggunakan operator $and di MongoDB untuk mencari dokumen yang cocok dengan beberapa kriteria.

Operator ini menggunakan sintaks dasar berikut:

 db.myCollection.find({
  " $and ": [
    {" field1 ": " hello "},
    {" field2 ": { $gte : 10 }}
  ]
})

Contoh khusus ini mencari semua dokumen dalam koleksi bernama myCollection dengan field1 sama dengan “halo” dan field2 memiliki nilai lebih besar atau sama dengan 10.

Contoh berikut memperlihatkan cara menggunakan sintaksis ini dalam praktik dengan tim koleksi dengan dokumen berikut:

 db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8})
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 12})
db.teams.insertOne({team: " Spurs ", points: 20, rebounds: 7})
db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 5})
db.teams.insertOne({team: " Spurs ", points: 23, rebounds: 9})

Contoh 1: Gunakan operator AND dengan dua kolom

Kode berikut menunjukkan cara menemukan semua dokumen dalam koleksi tim di mana bidang “tim” sama dengan “Spurs” dan nilai bidang “poin” lebih besar atau sama dengan 22:

 db.teams.find({
  " $and ": [
    {" team ": " Spurs "},
    {" points ": { $gte : 22 }}
  ]
})

Kueri ini mengembalikan dokumen berikut:

 { _id: ObjectId("6201824afd435937399d6b6c"),
  team: 'Spurs',
  points: 25,
  rebounds: 5 }
{ _id: ObjectId("6201824afd435937399d6b6d"),
  team: 'Spurs',
  points: 23,
  rebounds: 9 }

Perhatikan bahwa setiap dokumen dalam keluaran berisi “Spurs” di bidang tim dan nilai lebih besar dari atau sama dengan 22 di bidang poin.

Contoh 2: Gunakan operator AND dengan lebih dari dua kolom

Kode berikut menunjukkan cara menemukan semua dokumen dalam koleksi tim di mana bidang “tim” tidak sama dengan “Mavs” dan nilai di bidang “poin” lebih besar dari atau sama dengan 22 dan nilai di bidang “rebounds” » bidangnya kurang dari 7:

 db.teams.find({
  " $and ": [
    {" team ": { $ne : " Mavs "}},
    {" points ": { $gte : 22 }},
    {" rebounds ": { $lt : 7 }}
  ]
})

Kueri ini mengembalikan dokumen berikut:

 { _id: ObjectId("6201824afd435937399d6b6c"),
  team: 'Spurs',
  points: 25,
  rebounds: 5 }

Perhatikan bahwa ini adalah satu-satunya dokumen dalam koleksi yang memenuhi ketiga kriteria tersebut:

  • Bidang “Tim” tidak sama dengan “ Mavs
  • Bidang “poin” memiliki nilai lebih besar atau sama dengan 22
  • Bidang “rebound” memiliki nilai kurang dari 7

Catatan : Anda dapat menemukan dokumentasi lengkap untuk fungsi $and di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di MongoDB:

MongoDB: Cara memeriksa apakah bidang berisi string
MongoDB: Cara menggunakan kueri “NO IN”.
MongoDB: Cara mencari “not null” di bidang tertentu

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *