|
每個(gè)MongoDB的document都有一個(gè)_id字段作為它的第一個(gè)屬性,這個(gè)值通常是一個(gè)BSON對(duì)象id,因此,這個(gè)id對(duì)于集合中的每個(gè)成員都是唯一的,如果用戶插入一個(gè)document沒(méi)有提供一個(gè)id,數(shù)據(jù)庫(kù)將自動(dòng)生成一個(gè)id,并存儲(chǔ)在_id字段。
The BSON ObjectId Datatype 一個(gè)BSON ObjectID是由12個(gè)字節(jié)組成:4字節(jié)時(shí)間+3字節(jié)機(jī)器id+2字節(jié)進(jìn)程id+3字節(jié)的數(shù)字 { "_id" : ObjectId("4c691e72ed2a47b462dfa806") } 有時(shí)候我們的應(yīng)用中需要自增長(zhǎng)的數(shù)字型主鍵,MongoDB在這方面并沒(méi)有給我們提供支持,我們需要加以改造,使其具有自增長(zhǎng)主鍵生成的功能。此次的功能改造,依賴的是morphia開(kāi)源項(xiàng)目(MongoDB在java語(yǔ)言上的ORM實(shí)現(xiàn),http://code.google.com/p/morphia/),直接上代碼吧。 首先定義一個(gè)保存各個(gè) collection的主鍵增量值的系統(tǒng)配置collection:StoredSeqence java 代碼
java 代碼
這樣自增長(zhǎng)主鍵的生成的主要功能基本上已經(jīng)完成了,具體如何使用,接下來(lái)將根據(jù)實(shí)際的項(xiàng)目再做介紹,請(qǐng)繼續(xù)關(guān)注我的博客。 |
|
|