在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫/ MongoDB自動遞增序列
MongoDB教程
MongoDB覆蓋查詢
MongoDB數(shù)據(jù)建模
MongoDB聚合
MongoDB更改用戶密碼和自定義數(shù)據(jù)
MongoDB用戶
MongoDB分片
MongoDB創(chuàng)建集合
MongoDB文本搜索
MongoDB數(shù)據(jù)類型
MongoDB GridFS
MongoDB索引限制
MongoDB插入文檔
MongoDB刪除集合
MongoDB數(shù)據(jù)庫引用
MongoDB復(fù)制
MongoDB Map Reduce
Python連接MongoDB操作
MongoDB原子操作
MongoDB特點
MongoDB安全檢查表
MongoDB排序記錄
MongoDB自動遞增序列
MongoDB安裝配置(Windows)
MongoDB備份與恢復(fù)
MongoDB安裝配置(Ubuntu)
Ruby連接MongoDB操作
MongoDB部署
MongoDB索引
MongoDB分析查詢
MongoDB投影(選擇字段)
MongoDB刪除數(shù)據(jù)庫
MongoDB認證
MongoDB限制記錄數(shù)
MongoDB添加用戶
MongoDB固定循環(huán)集合
MongoDB高級索引
MongoDB數(shù)據(jù)庫的優(yōu)點
MongoDB快速入門
MongoDB創(chuàng)建數(shù)據(jù)庫
MongoDB啟用身份驗證
MongoDB歷史
MongoDB管理用戶和角色
MongoDB安裝配置(RedHat/CentOS)
MongoDB刪除文檔
Java連接MongoDB操作
MongoDB正則表達式
MongoDB查詢文檔
MongoDB關(guān)聯(lián)關(guān)系
PHP連接MongoDB操作
MongoDB更新文檔
MongoDB ObjectId

MongoDB自動遞增序列

MongoDB中沒有類似SQL數(shù)據(jù)庫中那么拿來即用的自動增量功能。 默認情況下,它使用_id字段的12字節(jié)ObjectId作為唯一標識文檔的主鍵。 但是,可能存在我們可能希望_id字段擁有除ObjectId之外的一些自動遞增值的情況。

由于MongoDB不提供默認自動增長功能,所以我們通過使用MongoDB文檔中所建議的計數(shù)器集合以編程的方式來實現(xiàn)此功能。

使用計數(shù)器集合

考慮以下product文檔。 我們希望_id字段是從:1,2,3,4n開始的自動遞增整數(shù)序列。

{
  "_id":1,
  "product_name": "Huawei P9",
  "category": "mobiles"
}

為此,創(chuàng)建一個計數(shù)器集合,它將跟蹤所有序列字段的最后一個序列值。

>db.createCollection("counters")

現(xiàn)在,將把以下文檔插入計數(shù)器集合中,以productid作為鍵 -

{
  "_id":"productid",
  "sequence_value": 0
}

字段sequence_value跟蹤序列的最后一個值。使用以下代碼將此序列文檔插入計數(shù)器集合中 -

>db.counters.insert({_id:"productid",sequence_value:0})

使用Javascript函數(shù)

現(xiàn)在將在創(chuàng)建一個新文檔時使用函數(shù)getNextSequenceValue,并將返回的序列值分配為文檔的_id字段的值。

使用以下代碼插入兩個示例文檔 -

>db.products.insert({
   "_id":getNextSequenceValue("productid"),
   "product_name":"HuaWei P9",
   "category":"mobiles"
})

>db.products.insert({
   "_id":getNextSequenceValue("productid"),
   "product_name":"OPPO X6s",
   "category":"mobiles"
})

如上所示,使用getNextSequenceValue函數(shù)來設(shè)置_id字段的值。

>db.products.find()

上述查詢返回了具有自動遞增的_id字段的值,如下文檔所示 -

{ "_id" : 1, "product_name" : "HuaWei P9", "category" : "mobiles"}
{ "_id" : 2, "product_name" : "OPPO X6s", "category" : "mobiles" }