mongodb的一点问题
mongodb中有一个唯一的_id,但是我现在要往数据库中插入一些user数据,然后每个user都有一个id 怎么让这个id在我每次执行save()操作之后自增长,就像mysql中的那样...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
mongodb中有一个唯一的_id,但是我现在要往数据库中插入一些user数据,然后每个user都有一个id 怎么让这个id在我每次执行save()操作之后自增长,就像mysql中的那样...
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(8)
想都别这么想,_id是内部自动生成的唯一的uuid,这个_id去不掉系统内部使用了,类似自增的话自己维护另外一个系统不限制你,但是好像内部没有自增的机制
引用来自“明天的孩子”的答案
还是不要自增长的好。用oid吧。。不然分布式等扩展性不好。。
还是不要自增长的好。用oid吧。。不然分布式等扩展性不好。。
引用来自“qeenoo”的答案
/**
我们的处理方式是 加一个idmax的collection 自己进行+1回填处理 更推荐用原始oid
/**
没特殊需求还是用mongo自身的_id吧,这东西的生成可以保证任一机器的任一节点都不冲突
这个思路的核心就是用'findandmodify'这个命令。原理上就是建立一个id表,里面就两个字段,一个是表名,一个是maxid,表名这个存你需要做自增长ID的表的名字,maxid存它当前最大id,当你需要增加一个表的id的时候,就对
id表的对应项做一次
'findandmodify'操作就好了。http://www.oschina.net/question/172914_32221?sort=default&p=2 这里讨论过很多了。