2013-08-20 13 views
16

Come impostare la chiave primaria con incremento automatico in MongoDB?Come impostare la chiave primaria con incremento automatico in MongoDB?

Normalmente MongoDB genera ObjectID. Voglio usare la mia chiave primaria di incremento automatico come MySQL.

Esempi sarebbe apprezzato :)

+3

Primo risultato di Google: http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/ – Sammaye

+0

http://stackoverflow.com/a/36124413/2837412 –

risposta

9

ho bloggato su questo qui:
http://www.alexjamesbrown.com/blog/development/mongodb-incremental-ids/

Ho anche iniziato un generatore int id per il driver C#:
https://github.com/alexjamesbrown/MongDBIntIdGenerator

Tuttavia, incrementando ID di non si ridimensionerà in modo efficace.

+0

Perché l'incremento degli ID ha vinto scala in modo efficace? – avi

+2

Poiché ogni nodo dovrebbe conoscere costantemente l'ID "più recente" ... Twitter "snowflake" fornisce comunque una soluzione a questo problema. Inoltre, leggi questo: https://blog.serverdensity.com/switching-to-mongodb-and-auto-increment/ – Alex

+0

Oh, grazie! Quel blog spiega bene. – avi

6
$db->execute("return db.getCollection('autoInccollection').findAndModify({ 
         query: { collection: '$colle' }, 
         update: { '$inc': { primaryKey: 1 } },new: true 
          })"); 

$ colle indica quale raccolta è necessario creare il tasto di incremento automatico.

Problemi correlati