sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB. Nastavte jedinečné číslo pro každý dokument ve sbírce

Experimentálně (v závislosti na velikosti vaší sbírky) můžete zkusit použít $unwind který přebírá includeArrayIndex parametr:

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

Hřiště Mongo

Můžete také zvážit $out nahradit stávající kolekci výše uvedeným výsledkem agregace




  1. Existuje způsob, jak spustit mongoda z webstormu (mac)

  2. zkontrolujte, zda hodnota pole končí v poli - MongoDB

  3. BadYieldError při použití motoru find() [MongoDB + Tornado]

  4. Aktualizace 2 schémat mongoose ve volání API