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

MongoDB melepas beberapa array

Dari versi 3.2 Anda dapat melakukannya dengan $unwind pada kedua array, $cmp indeks, dan $match hanya indeks yang sama.

Solusi ini akan mengisi apa yang Anda tulis jika Anda hanya memiliki dokumen contoh. Jika Anda memiliki lebih banyak dokumen, saya tidak tahu apa yang Anda harapkan dari output, tetapi ini dapat dipecahkan dengan mengelompokkan menurut _id dokumen.

db.test.aggregate([
    {
        $unwind: {
            path: '$dates',
            includeArrayIndex: 'dates_index',
        }
    },
    {
        $unwind: {
            path: '$numbers',
            includeArrayIndex: 'numbers_index',
        }
    },
    {
        $project: {
            dates: 1,
            numbers: 1,
            compare: {
                $cmp: ['$dates_index', '$numbers_index']
            }
        }
    },
    {
        $match: {
            compare: 0
        }
    },
    {
        $project: {
            _id: 0,
            dates: 1,
            numbers: 1
        }
    }
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ambil Nilai dari MongoDB dengan Nama Kuncinya

  2. Database Dokumen:Data redundan, referensi, dll. (khusus MongoDB)

  3. Menyebarkan MongoDB Menggunakan Docker

  4. Agregat Mongodb (hitungan) di beberapa bidang secara bersamaan

  5. MongoDB mongorestore dan koleksi yang ada dengan catatan