Bisakah kita menyimpan berbagai objek di mongodb?

Dalam dunia pemrograman, array adalah salah satu struktur data yang paling banyak digunakan. Array digunakan di sisi klien dan sisi server. Mereka juga banyak digunakan dalam database NoSQL. Di MongoDB, array adalah salah satu tipe data yang didukung. Kami bahkan dapat menyimpan array objek sebagai nilai kunci. Perhatikan saja dokumen berikut

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

{
"_Indo". ObjectId("5e19d76fa45abb5d4d50c1d3"),
"nama". "Lionel Messi",
"usia". 32,
"negara". "Argentina",
"penghargaan". [
{
"menghadiahkan". "Ballon d'Or",
"berkali-kali". 6
},
{
"menghadiahkan". "Sepatu Emas",
"berkali-kali". 6
},
{
"menghadiahkan". "Pemain Terbaik Dunia FIFA Tahun Ini",
"berkali-kali". 1
}
]
}

Dokumen di atas berisi detail tentang pesepakbola Argentina Lionel Messi. Amati bidang "penghargaan".

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

"penghargaan". [
{
"menghadiahkan". "Ballon d'Or",
"berkali-kali". 6

},
{
"menghadiahkan". "Sepatu Emas",
"berkali-kali". 6

},
{
"menghadiahkan". "Pemain Terbaik Dunia FIFA Tahun Ini",
"berkali-kali". 1

}

]

Nilainya adalah larik objek dan setiap objek berisi dua bidang – “penghargaan” dan “jumlahWaktu”. Pada artikel ini, kita akan membahas cara menggunakan metode find() dengan array objek di luwak

Kami akan menggunakan koleksi sepak bola. Ini memiliki dua dokumen dengan pasangan nilai kunci yang serupa

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

{
"_Indo". ObjectId("5e19d76fa45abb5d4d50c1d3"),
"nama". "Lionel Messi",
"usia". 32,
"negara". "Argentina",
"penghargaan". [
{
"menghadiahkan". "Ballon d'Or",
"berkali-kali". 6
},
{
"menghadiahkan". "Sepatu Emas",
"berkali-kali". 6
},
{
"menghadiahkan". "Pemain Terbaik Dunia FIFA Tahun Ini",
"berkali-kali". 1
}
]
}
{
"_Indo". ObjectId("5e19d791a45abb5d4d50c1d4"),
"nama". "Cristiano Ronaldo",
"usia". 34,
"negara". "Portugal",
"penghargaan". [
{
"menghadiahkan". "Ballon d'Or",
"berkali-kali". 5
},
{
"menghadiahkan". "Sepatu Emas",
"berkali-kali". 4
},
{
"menghadiahkan". "Pemain Terbaik Dunia FIFA Tahun Ini",
"berkali-kali". 1
}
]
}

Kami akan menggunakan alat tukang pos untuk pengujian titik akhir. Penangan rute berikut akan dipanggil saat titik akhir '/ find' akan dieksekusi

CATATAN Kami menggunakan kerangka ekspres di NodeJS untuk membuat titik akhir API kami

router. rute("/temukan"). dapatkan(fungsi(req, res) {});

Sekarang, jika kita ingin mendapatkan semua dokumen yang nilai bidang negaranya adalah "Portugal", kita cukup menggunakan pendekatan berikut

temukan({negara. "Portugal" });

Tapi, bagaimana jika kita ingin semua dokumennya ada dimana

  1. Susunan penghargaan berisi objek yang memiliki "Sepatu Emas" sebagai nilai bidang penghargaan
  2. Di objek yang sama, nilai bidang numberOfTimes adalah 6

Sederhananya, Kami ingin mencari pemain sepak bola yang telah memenangkan 6 penghargaan Sepatu Emas. Jadi bagaimana kita bisa melakukan ini? . Tapi di sini kita perlu mengakses sesuatu di dalam objek, dan objek itu ada di dalam array, dan array itu, pada gilirannya, adalah nilai dari bidang penghargaan. Perhatikan hal-hal berikut

Ini adalah bagaimana kita dapat mengakses kunci dari sebuah objek di dalam sebuah array. Jadi mari kita lihat bagaimana kita bisa mencapai persyaratan kita di sini

{"penghargaan. menghadiahkan". "Sepatu Emas", "penghargaan. berkali-kali". 6}

Mari tambahkan ini ke metode find() di rute dan jalankan menggunakan alat tukang pos

router. rute("/temukan"). dapatkan(fungsi(req, res) {
sepak bola. Temukan(
{ "penghargaan. menghadiahkan". "Sepatu Emas", "penghargaan. berkali-kali". 6},
function(err, result) {
jika (salah) {
res. kirim(salah);
} kalau tidak {
res. json(hasil);
}
}
);
});

Bisakah kita menyimpan berbagai objek di mongodb?

Seperti yang Anda lihat, kueri pencarian yang kami buat mengembalikan persis permainan yang kami cari. Ini bekerja dengan sempurna

Kesimpulan

Jadi ingat, saat mengakses array objek di luwak, kita harus menggunakan titik (. ) diikuti dengan nama bidang objek. Mencari di dalam array sangat umum dan akan berguna sehingga sangat bagus untuk menguasainya. Terima kasih telah bergabung dengan kami untuk tutorial basis pengetahuan Object Rocket lainnya

Bisakah MongoDB menyimpan berbagai objek?

Ikhtisar. Salah satu manfaat model skema kaya MongoDB adalah kemampuan untuk menyimpan array sebagai nilai kolom dokumen . Menyimpan array sebagai nilai bidang memungkinkan Anda memodelkan hubungan satu-ke-banyak atau banyak-ke-banyak dalam satu dokumen, alih-alih di seluruh koleksi terpisah seperti yang mungkin Anda lakukan dalam database relasional.

Bagaimana cara memasukkan array objek di MongoDB?

Sisipkan Larik Di Dalam Objek di MongoDB .
Ringkasan. MongoDB adalah basis data NoSQL berbasis dokumen open-source dan terdistribusi yang paling populer. .
Inisialisasi Basis Data. .
Menggunakan Shell MongoDB. .
Masukkan Operasi Menggunakan Kode Driver Java. .
Menggunakan objek DBO. .
Menggunakan Dokumen BSON. .
Kesimpulan

Bisakah Anda menyimpan objek di MongoDB?

MongoDB juga sangat fleksibel karena merupakan basis data NoSQL, jadi objek dapat disimpan bersama meskipun memiliki struktur yang sama sekali berbeda .

Bagaimana cara mengakses berbagai objek di MongoDB?

Untuk mencari larik objek di MongoDB, Anda dapat menggunakan operator $elemMatch . Operator ini memungkinkan kita untuk mencari lebih dari satu komponen dari sebuah objek array.