Mongodb自增ID的实现

来源:互联网 发布:新版淘宝摇一摇在哪里 编辑:程序博客网 时间:2024/06/05 22:41

  

     转载自:http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/


     1.首先默认建立一个自增ID的表格counter,并初始化插入列_id(表示要使用自增ID的表名),初始化seq为0

db.counters.insert(   {      _id: "userid",      seq: 0   })
    2. 实现一个,得到某个表的,下一个id的方法.

function getNextSequence(name) {  //参数为表名   var ret = db.counters.findAndModify(          {            query: { _id: name },//查询条件为表名            update: { $inc: { seq: 1 } },//$inc 表示增加,seq增加1            new: true  //表示返回修改过的数据          }   );   return ret.seq;//返回自增ID}
    3.每次调用2中的方法,得到自增ID.例如

   

db.users.insert(   {     _id: getNextSequence("userid"),//得到userid的下一个ID     name: "Sarah C."   })db.users.insert(   {     _id: getNextSequence("userid"),     name: "Bob D."   })

原创粉丝点击