MongoBD解决没有自动增长ID 的问题

简介: Sequence Numbers:序列号传统的数据库中,通常用一个递增的序列来提供主键,在 MongoDB中用 ObjectId 的来代替,我们可以通过如下的函数来获取主键function counter(name) { var ret = db.
Sequence Numbers:序列号
传统的数据库中,通常用一个递增的序列来提供主键,在 MongoDB
中用 ObjectId 的来代替,我们可以通过如下的函数来获取主键





function
counter(name) { var ret = db.counters.findAndModify({query:{_id:name}, update:{$inc : {next:1}}, "new":true, upsert:true}); 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

 

目录
相关文章
|
监控 Java 索引
ES 生产中10个常见参数阈值(默认最大值)操作及优化解决方案
ES 生产中10个常见参数阈值(默认最大值)操作及优化解决方案
ES 生产中10个常见参数阈值(默认最大值)操作及优化解决方案
|
存储 运维 BI
SAP MMBE库存数量与在库序列号数量差异之处理
SAP MMBE库存数量与在库序列号数量差异之处理
SAP MMBE库存数量与在库序列号数量差异之处理
|
4月前
|
分布式计算 负载均衡 监控
大数据增加分区数量
【11月更文挑战第4天】
65 3
|
4月前
|
SQL 存储 算法
优化银行预计算固定查询成实时灵活查询
W银行指标查询系统用于计算和展示各类汇总指标,支持银行经营决策。因数据量庞大,系统采用预计算方式,但随着指标数量激增,预计算方式逐渐成为瓶颈。文章详细介绍了系统面临的挑战及优化方案,包括列式存储、有序归并、多线程计算等技术,最终实现了从明细数据实时计算指标的目标,显著提升了系统性能。
|
弹性计算 固态存储 网络安全
使用Count功能批量创建资源
本场景将以批量创建ECS实例和EIP,并为ECS实例绑定EIP为例,为您介绍如何使用Count功能。
|
SQL Oracle 关系型数据库
【DB吐槽大会】第41期 - 无法预测大查询剩余执行时间
大家好,这里是DB吐槽大会,第41期 - 无法预测大查询剩余执行时间
|
SQL 固态存储 关系型数据库
【DB吐槽大会】第12期 - 没有自动成本校准器
大家好,这里是DB吐槽大会,第12期 - 没有自动成本校准器
|
弹性计算 运维 监控
快速管理阿里云资源与人权钱关系——资源标记(TAG)策略
您可以采用标签形式为您的阿里云资源标记元属性描述。每个标签都是由用户定义的Key和value组成的标签。标签可帮助您管理、识别、组织、搜索和筛选资源。您可以按用途、所有者、环境或其他标准对资源进行分类来创建标签。本文介绍常用的标记类别和策略,以帮助您实施一致且有效的标记策略。
2445 0
快速管理阿里云资源与人权钱关系——资源标记(TAG)策略
|
SQL 存储 缓存
|
Java
将List按照指定大小等分的几种实现方式和效率对比及优化
  今天碰到一个需求,定时任务,批量从表里取数据并做一些其他操作然后再存表,每次取1000条,由于计算过程比较耗时所以要起多个线程同时跑,需要将List按照指定大小等分,如每100条数据起一个线程,若最后剩余一份不到100,也放到一个线程里,网络上的实现方法有很多,我测试之后理出三种相对比较好的实现...
1475 0

热门文章

最新文章