1
我需要在Mongo中爲集合中的文檔創建類似於(1,2,3,4,...,n + 1)的人類可讀ID。有沒有辦法通過本地mongo工具創建它們,或者我必須在程序的邏輯中創建它們。 p.s我使用mongoengine作爲ORM。如何在MongoDb中創建人類可讀的ID
我需要在Mongo中爲集合中的文檔創建類似於(1,2,3,4,...,n + 1)的人類可讀ID。有沒有辦法通過本地mongo工具創建它們,或者我必須在程序的邏輯中創建它們。 p.s我使用mongoengine作爲ORM。如何在MongoDb中創建人類可讀的ID
http://www.mongodb.org/display/DOCS/Object+IDs#ObjectIDs-SequenceNumbers
傳統數據庫通常用於 主鍵遞增的序列號。在MongoDB中,首選的方法是使用對象ID 。這個概念是,在一個非常大的機器集羣中,它比創建一個對象ID更容易創建一個對象ID,而不是全局的,統一的 增加序列號。
但是,有時您可能需要一個序列號。您可以通過 創建「計數器」文檔並使用findAndModify Command來完成此操作。
代碼示例(從附加鏈接):
function counter(name) {
var ret = db.counters.findAndModify({query:{_id:name}, update:{$inc : {next:1}}, "new":true, upsert:true});
// ret == { "_id" : "users", "next" : 1 }
return ret.next;
}
db.users.insert({_id:counter("users"), name:"Sarah C."}) // _id : 1
db.users.insert({_id:counter("users"), name:"Bob D."}) // _id : 2
大,我'懶日誌,並不能成爲正式的書面文件)) – Denis 2012-03-30 07:20:02