sql >> Database teknologi >  >> NoSQL >> MongoDB

PHP MongoDB samler $match og $group og $addToSet

Hvis du er ligeglad med den rækkefølge, de vises i, kan du bygge to arrays af bruger1 og bruger2 og derefter samle dem på et senere tidspunkt. Dette vil dog ikke håndtere deduplikering.

$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. Brugerdefinerede fejlmeddelelser med Mongoose

  2. mongodb:forespørg på de første par rækker, hvor summen af ​​den specifikke kolonne er større eller lig med C

  3. MongoDB:Find minimumselementet i array og slet det

  4. Fremskrivning af resultater fra MongoDb Find i F#