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. マングーススキーマ参照と未定義のタイプ'ObjectID'

    2. MongoDBは、配列要素でドキュメントを並べ替えます

    3. mongodbの複数の条件で配列を更新します

    4. MongoDBを使用したJava構文