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

PHP MongoDB agregat $match dan $group dan $addToSet

Jika Anda tidak peduli dengan urutan kemunculannya, Anda dapat membuat dua larik pengguna1 dan pengguna2, lalu menggabungkannya di tahap selanjutnya. Ini tidak akan menangani duplikasi.

$chatUserID = $_POST["chatUserID"]; // 2 in my example
$chatCursor = $chatCollection->aggregate([
    [
        '$match' => [
            '$or' =>[
                ["chatUser1ID" => $chatUserID],
                ["chatUser2ID" => $chatUserID]
            ]
        ]
    ], [
        '$group' => [
            '_id' => 0,
            'chatUsers1' => ['$addToSet' => '$chatUser1ID'],
            'chatUsers2' => ['$addToSet' => '$chatUser2ID'],
        ]
    ], [
        '$addFields' => [
            'chatUsers' => [
                 '$concatArrays' => [
                     '$chatUsers1',
                     '$chatUsers2'
                 ]
            ]
         ]
    ],
]);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menangani Query Lambat di MongoDB

  2. Mencetak Tanggal MongoDB Dari PHP

  3. Kueri bersarang luwak pada Model berdasarkan bidang model yang direferensikannya

  4. Skema luwak:Memvalidasi bidang unik, tidak peka huruf besar-kecil

  5. Mengapa laravel mengembalikan array kosong untuk memiliki banyak hubungan?