sql >> データベース >  >> NoSQL >> MongoDB

MongoDB。コレクション内の各ドキュメントに一意の番号を設定します

    実験的に (コレクションのサイズによって異なります) $ unwind includeArrayIndexを取ります パラメータ:

    db.collection.aggregate([
        {
            $group: {
                _id: null,
                docs: { $push: "$$ROOT" }
            }
        },
        {
            $unwind: {
                path: "$docs",
                includeArrayIndex: "index"
            }
        },
        {
            $replaceRoot: {
                newRoot: {
                    $mergeObjects: [ "$docs", { place: "$index" } ]
                }
            }
        }
    ])
    

    Mongo Playground

    $out を検討することもできます。 既存のコレクションを上記の集計結果に置き換える




    1. MongoDB:管理者がコマンドを実行することを許可されていません

    2. mongodbの各グループの最新のNレコードを取得するにはどうすればよいですか?

    3. Node.js/Mongodb挿入コールバックが未定義を返します

    4. リンクにIDを渡すMeteor