MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB. Ustaw unikalny numer dla każdego dokumentu w kolekcji

Eksperymentalnie (w zależności od rozmiaru Twojej kolekcji) możesz spróbować użyć $unwind który przyjmuje includeArrayIndex parametr:

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

Plac zabaw Mongo

Możesz także rozważyć $out zastąpić istniejącą kolekcję powyższym wynikiem agregacji




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak mogę sortować według $elemMatch w MongoDB?

  2. Jak poprawnie zwiększyć liczbę dat w mongoDB?

  3. BsonValue i niestandardowe klasy w MongoDB C# Driver

  4. Jak wykonać zagregowane zapytanie mongo przy użyciu json w ciągu?

  5. Jak zmienić pole _id w kolekcji MongoDB na User_id?