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

Struktur matriks kenaikan di MongoDb

Mari kita anggap kita memiliki:

1 2 3
4 5 6
7 8 9

Anda dapat menyimpan matriks sebagai array tersemat di mongodb dengan berbagai cara:

1.Representasikan matriks sebagai array satu dimensi dan simpan seperti ini:

{
  _id: "1",
  matrix: [1,2,3,4,5,6,7,8,9],
  width: 3, // or store just size in case of NxN
  height: 3,
}

Kemudian untuk menambah elemen ketiga dari matriks, Anda memerlukan pembaruan berikut:

db.matrix.update({_id: 1}, { $inc : { "matrix.2" : 1 } }

Pendekatan ini sangat ringan, karena Anda menyimpan data seminimal mungkin, tetapi Anda harus selalu menghitung posisi elemen untuk diperbarui, dan Anda perlu menulis kode tambahan untuk membatalkan serialisasi matriks di driver Anda.

2. Simpan matriks dengan cara berikut:

{
  _id: "1",
  matrix: [
  {xy: "0-0", v: 1},
  {xy: "1-0", v: 2},
  {xy: "2-0", v: 3},
  {xy: "0-1", v: 4},
  ...
  ]
}

Kemudian untuk menambah elemen ketiga dari baris pertama dalam matriks, Anda memerlukan pembaruan berikut:

db.matrix.update({_id: 1, "matrix.xy": 2-0 }, { $inc : { "matrix.$.v" : 1 } }

Pendekatan ini seharusnya lebih sederhana dari sisi driver, tetapi Anda perlu menyimpan lebih banyak informasi dalam database.

Pilih apa pun yang lebih Anda sukai.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana menemukan catatan acak di Mongoose

  2. Bagaimana cara melakukan banyak gabungan antara dua koleksi di mongodb menggunakan fungsi lambda?

  3. Bagaimana menemukan waktu operasi pembaruan/masukkan/hapus terakhir pada koleksi mongodb tanpa bidang objectid

  4. PHP Mongo Kesalahan membaca dari soket

  5. Apa cara terbaik untuk mengautentikasi dan mengotorisasi solusi web dan api seperti MERN Stack?