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

Hvordan fjerner du duplikerede poster fra et array?

Fra MongoDB 2.2 kan du bruge aggregeringsrammen med en $unwind , $group og $project trin for at opnå dette:

db.users.aggregate([{$unwind: '$favorites.books'},
                    {$group: {_id: '$_id',
                              books: {$addToSet: '$favorites.books'},
                              name: {$first: '$name'}}},
                    {$project: {'favorites.books': '$books', name: '$name'}}
                   ])

Bemærk behovet for $project for at omdøbe favorites felt, da $group aggregerede felter kan ikke indlejres.



  1. phpredis på windows 7 64bit xampp

  2. MongoDB jsonSchema validering yderligere egenskaber

  3. Redis serviceStack pooled forbindelsesklient

  4. 2 måder at begrænse de dokumenter, der returneres i MongoDB