MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana Mengembalikan Nilai Saja di MongoDB

Saat Anda menggunakan metode seperti find() atau findOne() di MongoDB, secara default Anda mengembalikan seluruh dokumen. Dan jika Anda menggunakan proyeksi, Anda dapat mengembalikan pasangan kunci/nilai tertentu.

Tetapi bagaimana jika Anda hanya menginginkan nilainya?

Anda dapat mengekstrak nilai bidang dengan menambahkan nama bidang itu ke kueri Anda saat menggunakan findOne() .

Contoh

Misalkan kita memiliki koleksi yang disebut products dengan dokumen sebagai berikut:

{ "_id" :1, "product" :"Bat", "sizes" :[ "S", "M", "L" ] }{ "_id" :2, "product" :"Topi" , "ukuran" :[ "S", "L", "XL" ] }{ "_id" :3, "produk" :"Tutup", "ukuran" :[ "M", "L" ] } 

Jika kami ingin mengembalikan produk dokumen pertama, kami dapat melakukan hal berikut:

db.products.findOne().product 

Hasil:

Kelelawar

Perhatikan bahwa kami menggunakan findOne() metode. Teknik ini tidak bekerja pada find() metode. findOne() metode mengembalikan satu dokumen, sedangkan find() metode hanya mengembalikan kursor ke dokumen.

Jika kita ingin mengembalikan array kita bisa melakukan ini:

db.products.findOne().sizes 

Hasil:

[ "S", "M", "L" ]

Dan kita bisa mendapatkan nilai array dengan mereferensikan indeksnya:

db.products.findOne().sizes[0] 

Hasil:

S

Array berbasis nol, jadi 0 referensi elemen pertama dalam array, 1 mereferensikan elemen kedua, 2 yang ketiga, dan seterusnya.

Dokumen Tertentu

Secara default, findOne() metode mengembalikan dokumen pertama dalam koleksi. Kita dapat memilih dokumen yang berbeda dengan menetapkan melewatkan kueri sebagai argumen pertama.

Saya mengatakan "argumen pertama" karena findOne() juga menerima projection argumen sebagai argumen kedua opsional.

db.products.findOne({_id: 2}, {sizes: 1, _id: 0}).sizes 

Hasil:

[ "S", "L", "XL" ] 

Dalam hal ini saya menambahkan argumen proyeksi, tetapi tidak berpengaruh pada hasilnya. Tapi itu akan berpengaruh jika saya menetapkan nilai 0. Itu tidak akan menghasilkan apa-apa.

Dokumen Tersemat

Anda dapat menggunakan notasi titik untuk mengembalikan nilai dari dokumen yang disematkan

Contoh dokumen:

{ "_id" :1, "name" :"Wag", "details" :{ "type" :"Dog", "weight" :20 }}

Kita dapat melakukan hal berikut untuk mengembalikan nilai dari dokumen yang disematkan:

db.pets.findOne().details.type 

Hasil:

Anjing


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mengimpor Data Ke Instans MongoDB

  2. Temukan semua dokumen dalam n hari terakhir

  3. Python dan MongoDB:Menghubungkan ke Database NoSQL

  4. MongoDB mengekstraksi nilai dari BasicDBObject (Java)

  5. digunakan untuk waktu pembuatan ObjectId mongodb