Mongodb: bagaimana cara menanyakan "bukan nol"? di wilayah tertentu


Anda dapat menggunakan sintaks berikut untuk menemukan semua dokumen yang bidang tertentunya bukan nol di MongoDB:

 db.collection.find({" field_name ":{ $ne : null }}) 

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh 1: Kueri untuk “bukan nol” di bidang tertentu

Anggaplah kita memiliki tim pengumpulan dengan dokumen-dokumen berikut:

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

Kita dapat menggunakan kode berikut untuk menemukan semua dokumen yang kolom “posisinya” bukan nol:

 db.teams.find({" position ":{ $ne : null }})

Kueri ini mengembalikan dokumen berikut:

 { _id: ObjectId("618bf18f35d8a762d3c28717"),
  team: 'Spurs',
  position: 'Guard',
  points: 22 }

{ _id: ObjectId("618bf18f35d8a762d3c28719"),
  team: 'Warriors',
  position: 'Forward',
  points: 26 }

{ _id: ObjectId("618bf18f35d8a762d3c2871a"),
  team: 'Cavs',
  position: 'Guard',
  points: 33 }

Perhatikan bahwa satu-satunya dokumen yang dikembalikan adalah dokumen yang bidang “posisinya” bukan nol.

Contoh 2: Kueri untuk “not null” (jika semua dokumen tidak berisi kolom tersebut)

Anggaplah kita memiliki tim pengumpulan dengan dokumen-dokumen berikut:

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

Perhatikan bahwa dokumen kedua dalam koleksi bahkan tidak memiliki kolom “posisi”.

Kita dapat menggunakan kode berikut untuk menemukan semua dokumen yang kolom “posisinya” bukan nol:

 db.teams.find({" position ":{ $ne : null }})

Kueri ini mengembalikan dokumen berikut:

 { _id: ObjectId("618bf18f35d8a762d3c28719"),
  team: 'Warriors',
  position: 'Forward',
  points: 26 }

{ _id: ObjectId("618bf18f35d8a762d3c2871a"),
  team: 'Cavs',
  position: 'Guard',
  points: 33 }

Karena dokumen kedua bahkan tidak memiliki bidang “posisi”, maka dokumen tersebut tidak dikembalikan.

Perhatikan juga bahwa dua dokumen lainnya yang memiliki nilai null di bidang “posisi” juga tidak dikembalikan.

Ringkasan : Dengan menggunakan sintaks $ne:null , kami hanya mengembalikan dokumen yang kolomnya ada dan bukan null.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di MongoDB:

MongoDB: Cara melakukan kueri dengan ekspresi reguler “Suka”.
MongoDB: Cara memeriksa apakah bidang berisi string
MongoDB: Cara menambahkan bidang baru ke koleksi
MongoDB: Cara menghapus bidang dari setiap dokumen

Tambahkan komentar

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