sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB. Ange ett unikt nummer för varje dokument i samlingen

Experimentellt (beroende på storleken på din samling) kan du försöka använda $unwind som tar en includeArrayIndex parameter:

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

Mongo Playground

Du kan också överväga $out att ersätta befintlig samling med ovanstående aggregeringsresultat




  1. Datumfråga fungerar med _id men inte med datumvärde - MongoDB

  2. Räkna händelser och infoga bokstavlig sträng under aggregering

  3. Om char b-prefix i Python3.4.1-klienten anslut till redis

  4. MongoDB på en Windows 7-maskin:Ingen anslutning kunde göras