MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

PHP MongoDB tổng hợp $ match và $ group và $ addToSet

Nếu bạn không quan tâm đến thứ tự chúng xuất hiện, bạn có thể xây dựng hai mảng user1 và user2, sau đó nối chúng lại với nhau trong giai đoạn sau. Tuy nhiên, điều này sẽ không xử lý việc khử trùng lặp.

$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. Cách lấy các giá trị từ truy vấn MongoDB của tôi một const

  2. Làm thế nào để chạy các lệnh mongoDB thô bằng cách sử dụng mongoose?

  3. Django - MongoDB:(không thể kết nối với localhost:27017) Kết nối bị từ chối

  4. Cách chèn vào bộ sưu tập MongoDB với một vị trí

  5. Làm thế nào để đối phó với vấn đề múi giờ khi lưu trữ ngày trong utc bằng mongod?