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

Proyeksi array multidimensi MongoDB

Anda dapat menggunakan kerangka kerja agregasi:

db.test.aggregate([
    { $unwind: '$arr' },
    { $limit: 1 },
    { $project: { _id: 0, arr: 1 } },
    { $unwind: '$arr' },
    { $skip: 1 },
    { $limit: 1 }
])

Pengembalian:

{ "arr": 22 }

Sunting: Poster asli telah memodifikasi solusi saya agar sesuai dengan kebutuhannya dan menghasilkan yang berikut:

db.test.aggregate([
    { $match: { name:"Olivia" } },
    { $project: { _id: 0,arr: 1 } },
    { $unwind: '$arr' },
    { $skip: 1 },
    { $limit:1 },
    { $unwind: "$arr" },
    { $skip: 2 },
    { $limit: 1 }
])

Kueri ini akan menghasilkan { arr: 77 } mengingat data diperpanjang yang disediakan oleh OP. Perhatikan bahwa $skip dan $limit diperlukan untuk memilih elemen yang tepat dalam hierarki array.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara memperbarui setiap nilai dengan satu kueri di mongodb

  2. Kueri Mongodb dengan bidang dalam dokumen yang sama

  3. make gagal mencoba menginstal driver mongo php di Centos 6

  4. Mongoexport menggunakan batasan $gt dan $lt pada rentang tanggal

  5. saya menggunakan janji node.js untuk memvalidasi nama pengguna yang ada di db atau tidak