日期:2014-05-16 浏览次数:20439 次
每个MongoDB的document都有一个_id字段作为它的第一个属性,这个值通常是一个BSON对象id,因此,这个id对于集合中的每个成员都是唯一的,如果用户插入一个document没有提供一个id,数据库将自动生成一个id,并存储在_id字段。???
???The?BSON?ObjectId?Datatype ??
一个BSON?ObjectID是由12个字节组成:4字节时间+3字节机器id+2字节进程id+3字节的数字
{?"_id"?:?ObjectId("4c691e72ed2a47b462dfa806")?}
有时候我们的应用中需要自增长的数字型主键,MongoDB在这方面并没有给我们提供支持,我们需要加以改造,使其具有自增长主键生成的功能。此次的功能改造,依赖的是morphia开源项目(MongoDB在java语言上的ORM实现,http://code.google.com/p/morphia/),直接上代码吧。
首先定义一个保存各个 collection的主键增量值的系统配置collection:StoredSeqence