sql >> Databasteknik >  >> NoSQL >> MongoDB

Villkorlig projektion i mongodb med c#-drivrutin

Så här skulle jag gå till väga. För att du ska kunna ta bort grupp-id:t "artefakt" måste du projicera grupputdata och inte inkludera id.

db.getCollection('MyClass').aggregate( [
{$unwind: '$Class'}, 
{ $project : {  Name : 1 , 
                Occupation : 1, 
                Class : {
                    ClassType:1, 
                    Professors:{
                        $cond: {
                            if: { $eq: ["$Class.ClassType", "English"] },
                            then: [],
                            else: "$Class.Professors"
                                }
                    }
                }
            } 
    },
{$group: {
    _id: '$_id',
    Name: {$first: '$Name'},
    Occupation: {$first: '$Occupation'},
    Class: {$push: '$Class'}
}},

] )




  1. Hur uppnår Redis den höga genomströmningen och prestandan?

  2. Hur konfigurerar man Node Redis-klienten för att skicka fel omedelbart när anslutningen har misslyckats? [LÄS INFORMATION]

  3. Hur man konverterar BSON::Timestamp till ruby ​​time och vice versa

  4. Batchuppsättningsdata från Dictionary till Redis