MongoDB自增长ID的实现
来源:互联网 发布:淘宝vip钻石卡 编辑:程序博客网 时间:2024/05/16 17:36
原文链接:http://duoyun.org/topic/50caa33fee680fee79000c82
这个大神用了不同的语言实现,我只写下java的demo,但是思想都是一样的。
MongoDB中有时候会需要自增长id,而不是他自维护的id,这样方便逻辑实现。
他的思想是利用mongodb中$inc操作,这个操作可以自增加1,并且是原子性操作,线程安全。
一开始的思想是利用java把javascript代码执行到mongodb中,再调用js function获取返回值。可是网上查的貌似没有这种方法。
于是就利用javaapi自带的方法。具体代码如下:
public static Object autoIncre(DB db, String seq){DBCollection auto = db.getCollection(seq) ;BasicDBObject query = new BasicDBObject() ;query.put("_id", "auto_increment_id") ;BasicDBObject increment = new BasicDBObject("next", 1) ;BasicDBObject update = new BasicDBObject("$inc", increment) ;DBObject result = auto.findAndModify(query, new BasicDBObject(), new BasicDBObject(), false, update, true, true) ;double x = Double.valueOf(result.get("next").toString()) ;return x ;}
> db.auto_id.find() ;
{ "_id" : "auto_increment_id", "next" : 1 }
用起来还挺方便。
0 0
- MongoDB自增长ID的实现
- Mongodb 自动增长 自增id 实现
- Mongodb 自动增长 自增id 实现
- Mongodb 自动增长 自增id 实现
- Mongodb 自动增长 自增id 实现 -1
- Mongodb 自动增长 自增id 实现 -2
- Mongodb 自动增长 自增id 实现 -3 PHP
- oracle实现id自增长
- oracle 实现 id 自增长
- MongoDB学习笔记一 ID自增长
- mongodb 自定义函数—自增长id
- MongoDB学习笔记一ID自增长
- MongoDB学习笔记一ID自增长
- hibernate利用mysql的自增长id属性实现自增长id和手动赋值id并存
- Mongodb自增ID的实现
- oracle中的ID号实现自增长的方法(序列)
- oracle中的ID号实现自增长的方法
- Oracle实现插入记录ID自增长
- 外包有风险,外包需谨慎
- PHP 与手机 APP 开发(API 接口开发)
- pthread_cond_wait()详解
- 使用Devexpress 的gridControl 显示DataTable的Master-Detail关系
- android 自定义CheckBox的外观样式
- MongoDB自增长ID的实现
- Singleton 单例模式
- SQL语句执行效率及分析(note)
- 黑马程序员-IO-字符流-FileWriter&FileReader
- Spring AOP 实现原理与 CGLIB 应用
- android学习笔记简单通讯录
- Eclipse 卡死在 Android SDK Content Loader
- Android编译APK
- 自定义Notification,Notificaton的使用,