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

Как да премахнете дублиращи се записи от масив?

От MongoDB 2.2 можете да използвате рамката за агрегиране с $unwind , $group и $project етап за постигане на това:

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

Обърнете внимание на необходимостта от $project за да преименувате favorites поле, тъй като $group обобщените полета не могат да бъдат вложени.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Грешка:Няма поддръжка на unix сокет на windows, свързващ mongodb

  2. MongoDB cursor.count()

  3. Mongodb актуализира дълбоко вложен поддокумент

  4. Upsert Array Elements, съответстващи на критериите в документ на MongoDB?

  5. MongoDB агрегиране на Loopback