sql >> データベース >  >> NoSQL >> MongoDB

PHPMongoDBは$matchと$groupと$addToSetを集約します

    それらが表示される順序を気にしない場合は、user1とuser2の2つの配列を作成し、後の段階でそれらを連結することができます。ただし、これは重複排除を処理しません。

    $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. Nodejsの構成の最大旧スペースサイズ

    2. Windowsで外付けドライブを使用するようにDockerで実行するようにmongoを構成するにはどうすればよいですか?

    3. ApacheHBaseポートの使用ガイド

    4. JavaのSSHトンネルを介してMongoデータベースに接続する