sql >> Database >  >> NoSQL >> MongoDB

MongoDB. Stel een uniek nummer in voor elk document in de collectie

Experimenteel (afhankelijk van de grootte van uw verzameling) kunt u proberen om $unwind waarvoor een includeArrayIndex . nodig is parameter:

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

Mongo-speeltuin

U kunt ook $out overwegen om bestaande verzameling te vervangen door het bovenstaande aggregatieresultaat




  1. Verhoog de limiet Mac OSX 10.8

  2. Hoe indexering de prestaties van zoekopdrachten in mongodb verbetert

  3. Hoe MongoDB Stitch Auth gebruiken in isomorfe of SSR-app?

  4. Redis hash paginering