Mongodb: cara menggunakan "tidak sama" dalam kueri
Anda dapat menggunakan operator $ne (artinya “tidak sama”) di MongoDB untuk menemukan dokumen yang bidangnya tidak sama dengan nilai tertentu.
Operator ini menggunakan sintaks dasar berikut:
db.myCollection.find({' team ': { $ne : " Mavs "}})
Contoh khusus ini mencari semua dokumen dalam koleksi bernama myCollection di mana bidang tim tidak sama dengan “Mavs”.
Anda juga dapat menggunakan operator $nin (yang berarti “tidak ada”) untuk menemukan dokumen yang kolomnya tidak sama dengan nilai apa pun dalam daftar.
Operator ini menggunakan sintaks dasar berikut:
db.myCollection.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})
Contoh khusus ini mencari semua dokumen dalam koleksi bernama myCollection di mana bidang tim tidak sama dengan “Mavs”, “Cavs” atau “Spurs”.
Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan tim pengumpulan dengan dokumen berikut:
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8}) db.teams.insertOne({team: " Spurs ", points: 35, rebounds: 12}) db.teams.insertOne({team: " Rockets ", points: 20, rebounds: 7}) db.teams.insertOne({team: " Warriors ", points: 25, rebounds: 5}) db.teams.insertOne({team: " Cavs ", points: 23, rebounds: 9})
Contoh 1: Kueri “Berbeda”.
Kode berikut menunjukkan cara menemukan semua dokumen dalam koleksi tim di mana bidang “tim” tidak sama dengan “Mavs”:
db.teams.find({' team ': { $ne : " Mavs "}})
Kueri ini mengembalikan dokumen berikut:
{ _id: ObjectId("6203ec0e1e95a9885e1e7658"), team: 'Cavs', points: 23, rebounds: 9 } { _id: ObjectId("6203ec0e1e95a9885e1e7656"), team: 'Rockets', points: 20, rebounds: 7 } { _id: ObjectId("6203ec0e1e95a9885e1e7655"), team: 'Spurs', points: 35, rebounds: 12 } { _id: ObjectId("6203ec0e1e95a9885e1e7657"), team: 'Warriors', points: 25, rebounds: 5 }
Perhatikan bahwa setiap dokumen dalam koleksi tim dikembalikan jika bidang tim tidak sama dengan “Mavs”.
Catatan : Operator $ne peka terhadap huruf besar-kecil.
Contoh 2: Kueri “Tidak ada”.
Kode berikut menunjukkan cara menemukan semua dokumen dalam koleksi tim di mana bidang tim tidak sama dengan “Mavs”, “Cavs”, atau “Spurs”:
db.teams.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})
Kueri ini mengembalikan dokumen berikut:
{ _id: ObjectId("6203ec0e1e95a9885e1e7656"), team: 'Rockets', points: 20, rebounds: 7 } { _id: ObjectId("6203ec0e1e95a9885e1e7657"), team: 'Warriors', points: 25, rebounds: 5 }
Perhatikan bahwa setiap dokumen dalam koleksi tim dikembalikan ketika bidang tim tidak sama dengan “Mavs”, “Cavs”, atau “Spurs”.
Catatan #1 : Anda dapat menemukan dokumentasi lengkap untuk fungsi $ne di sini .
Catatan #2 : Anda dapat menemukan dokumentasi lengkap untuk fungsi $nin di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di MongoDB:
MongoDB: Cara memeriksa apakah bidang berisi string
MongoDB: Cara mencari “not null” di bidang tertentu
MongoDB: Cara mengganti string