MongoDB自动增长的实现
因为 MongoDB 中没有实现这个功能,所以我们需要通过编程的方式来实现。本节中我们将通过两个(counters 和 tutorials)来实现自动递增功能,其中 counters 用来记录自动递增的数值,tutorials 用来存储具体的数据。
使用 counters
假如有以下文档,我们希望 _id 字段以 1、2、3、...、n 的自动递增整数顺序排列。我们将在 counters 中插入以下文档:{
"_id":1,
"tutorials_name": "MongoDB 教程",
"url": "http://www.biancheng网站站点" rel="nofollow" />
> db.createCollection("counters")
{ "ok" : 1 }
其中 _id 字段的值为 productid,sequence_value 字段的值默认为零,用来保存自动增长后的一个值。> db.counters.insert({_id:"productid",sequence_value:0})
WriteResult({ "nInserted" : 1 })
创建 Javascript 函数
下面我们创建一个名为 getNextSequenceValue 的函数,它能够以序列名作为参数,并将序列号递增 1,然后返回更新后的序列号。> function getNextSequenceValue(sequenceName){
... var sequenceDocument = db.counters.findAndModify(
... {
... query:{_id: sequenceName },
... update: {$inc:{sequence_value:1}},
... "new":true
... });
... return sequenceDocument.sequence_value;
... }
使用 Javascript 函数
下面我们创建一个新的,在向中插入数据时使用 getNextSequenceValue() 函数来定义 _id 字段的值,示例代码如下:> db.tutorials.insert({
... "_id":getNextSequenceValue("productid"),
... "tutorials_name": "MongoDB 教程",
... "url": "http://www.biancheng网站站点" rel="nofollow" />
> db.tutorials.find().pretty()
{
"_id" : 1,
"tutorials_name" : "MongoDB 教程",
"url" : "http://www.biancheng网站站点" rel="nofollow" />
- 随机文章
- 马尔代夫海中照片(马尔代夫海底惊现罕见鲸鲨,网友惊叹!)
- 专做马尔代夫工程(马尔代夫:新建水上餐厅项目成功落成)
- 苏州 马尔代夫 机票(畅游热带天堂!苏州至马尔代夫直飞机票火热预售中)
- 暑假 马尔代夫 温度(让你的暑假更精彩:马尔代夫天气状况!)
- 南澳马尔代夫夜景(南澳马岛夜色美丽,壮丽夜景别有风情)
- 怀孕了 马尔代夫(喜讯:在马尔代夫怀孕!)
- 南昌马尔代夫野餐(南昌市民凭马尔代夫门票享受野餐体验)
- 国足替补马尔代夫(国足替补赢下关键一战,战胜马尔代夫)
- 填海 马尔代夫(马尔代夫:度假天堂的清醒梦境)
- 沈阳马尔代夫现状(沈阳马尔代夫旅游如何?探寻真实面貌)
- 宜兴 马尔代夫(宜兴打造“马尔代夫”般美丽景色)
- 旅行游记马尔代夫(【海天一色,梦境般的马尔代夫之旅】)
- 沙堆心中马尔代夫(沙堆的珊瑚海之旅:马尔代夫岛国探秘)
- 湖南马尔代夫照片(湖南惊现马尔代夫!美丽照片引起热议)
- 阿楠 马尔代夫(阿楠马尔代夫游,感受海水温柔拥抱)
- 湖北石首马尔代夫(石首市一夫妻携手将马尔代夫推向高峰)
- 资阳马尔代夫房间(资阳有家像马尔代夫的房间等你来住!)
- 近期马尔代夫旅游(近期马尔代夫旅游受疫情影响逐步复苏)
- 张健 马尔代夫(探访马尔代夫:一位旅游工作者的心路历程)
- 香港留学马尔代夫(香港学生赴马尔代夫留学需注意什么?)
- 直飞马尔代夫班机(直飞马尔代夫航班,开启梦幻海岛之旅)
- 马尔代夫中式结婚(中式婚礼在马尔代夫,新人如梦似幻。)
- 明星 马尔代夫(明星享受马尔代夫度假生活,尽情纵情玩乐)
- 马尔代夫中文潜店(马尔代夫潜水店:中文服务重要性凸显)
- 马尔代夫人洗澡吗(马尔代夫女性的个人卫生习惯是什么?)
- 马尔代夫免费攻略(马尔代夫旅行攻略:完美玩转免费景点)
- 马尔代夫共和鲨鱼(马尔代夫共和国:鲨鱼丰富的海洋天堂)
- 雅高 马尔代夫(雅高集团开设马尔代夫酒店,探寻天堂岛屿风情)
- 德宏有马尔代夫吗(德宏是否有类似马尔代夫的旅游胜地?)
- 马尔代夫上空俯瞰(鸟瞰马尔代夫,美轮美奂景色尽收眼底)
