2013-08-20 144 views
16

如何在MongoDB中設置自動增量的主鍵?如何在MongoDB中使用自動增量設置主鍵?

通常MongoDB會生成ObjectID。我想用我自己的自動增量主鍵如MySQL。

例子,將不勝感激:)

+3

首次Google結果:http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/ – Sammaye

+0

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

回答

9

我的博客上講述這個位置:
http://www.alexjamesbrown.com/blog/development/mongodb-incremental-ids/

我也開始爲C#驅動程序INT id生成:
https://github.com/alexjamesbrown/MongDBIntIdGenerator

然而,遞增的ID不會有效擴展。

+0

爲什麼增加ID獲勝沒有有效的規模? – avi

+2

因爲每個節點都必須不斷地知道「最新」的id ...然而Twitter'雪花'提供了一個解決方案。另外,請閱讀 - https://blog.serverdensity.com/switching-to-mongodb-and-auto-increment/ – Alex

+0

哦,謝謝!那個博客很好地解釋。 – avi

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

$ colle表示您需要創建自動遞增鍵的集合。