MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Условна проекция в mongodb с помощта на c# драйвер

Ето как бих постъпил. За да премахнете „артефакта“ на идентификатора на групата, ще трябва да проектирате изхода на групата и да не включвате идентификатора.

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. ECS Fargate не поддържа монтажи за свързване

  2. MongoDB shell:как да търсите колекции, които съответстват на име или регулярен израз

  3. mongod и mongo командите не работят на Windows 10

  4. Закъсал при промяна на двоични данни към base64 (Gridfs-stream)

  5. Как да използвате MongoDB $ne върху свойството на вложен обект