MongoDB har ikke out-of-the-box auto-tilvekst funksjonalitet som SQL-databaser. Som standard bruker den 12-byte objectID for  _id 
 feltet som primærnøkkel for å identifisere dokumentene. Men det kan være situasjoner der vi kanskje ønsker den _id feltet for å ha noen automatisk økes verdi annet enn objectID. 
 
 Siden dette ikke er en standardfunksjon i MongoDB, vi vil programma oppnå denne funksjonaliteten ved å bruke en  tellere 
 samling som foreslått av dokumentasjonen MongoDB. 
 
 Bruke teller Collection 
 
 Tenk deg følgende  produkter 
 dokument. Vi ønsker at _id feltet for å være en  automatisk økes heltall sekvens 
 fra 1,2,3,4 opp n product: {"_id". 1, "PRODUCT_NAME": "Apple iPhone", "kategori": "mobiler"} 
 For dette ved å opprette en  tellere 
 samling som vil holde styr på den siste sekvensen verdi for alle sekvens feltene 
> db.createCollection ("tellere". ) 
 Nå vil vi sette inn følgende dokument i tellere samling med  ProductID 
 som sin viktigste − product: {"_id": "ProductID", "sequence_value": 0} 
 feltet  sequence_value 
 holder styr på den siste verdien av sekvensen 
 
 Bruk følgende kode for å sette inn denne sekvensen dokumentet i tellere samling −. 
> db.counters.insert ( {_id: "ProductID", sequence_value: 0}) 
 Opprette Javascript-funksjonen 
 
 Nå vil vi lage en funksjon  getNextSequenceValue 
 som tar sekvensen navn som sin inngang, øke den sekvensnummer ved en og returnere den oppdaterte sekvensnummer. I vårt tilfelle er sekvensen navnet  ProductID 
> funksjon getNextSequenceValue (sequenceName) {var sequenceDocument = db.counters.findAndModify ({query:. {_ Id: sequenceName} oppdatering: {$ inc: {sequence_value: 1}}, nytt: true}); tilbake sequenceDocument.sequence_value;.} 
 Bruke Javascript-funksjonen 
 
 Vi vil nå bruke funksjonen getNextSequenceValue mens du oppretter et nytt dokument og tilordne den returnerte sekvens verdi som feltet _id dokumentets 
 
 Sett inn to eksempel dokumenter ved hjelp av følgende kode − 
> db.products.insert ({"_id": getNextSequenceValue ("ProductID"), "PRODUCT_NAME": "Apple iPhone", "kategori": "mobiler"})> db .products.insert ({"_id": getNextSequenceValue ("ProductID"), "PRODUCT_NAME": "Samsung S3", "kategori": "mobiler"}) 
 Som du ser, har vi brukt getNextSequenceValue funksjonen til innstilte verdien for _id feltet 
 
 For å verifisere funksjonalitet, la oss hente dokumentene finne kommandoen og minus ved hjelp;. 
> db.prodcuts.find () 
Listen spørringen returnerte følgende dokumenter som har auto økes _id feltet − product: {"_id": 1, "PRODUCT_NAME": "Apple iPhone", "kategori": "mobiler"} {"_id": 2, "PRODUCT_NAME": "Samsung S3" "kategori": "mobiler"}

