創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
小編給大家分享一下mongodb設(shè)置主鍵的方法,相信大部分人都還不怎么了解,因此分享這邊文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!
MongoDB 沒(méi)有像 SQL 一樣有自動(dòng)增長(zhǎng)的功能, MongoDB 的 _id 是系統(tǒng)自動(dòng)生成的12字節(jié)唯一標(biāo)識(shí)。
但在某些情況下,我們可能需要實(shí)現(xiàn) ObjectId 自動(dòng)增長(zhǎng)功能。
由于 MongoDB 沒(méi)有實(shí)現(xiàn)這個(gè)功能,我們可以通過(guò)編程的方式來(lái)實(shí)現(xiàn),以下我們將在 counters 集合中實(shí)現(xiàn)_id字段自動(dòng)增長(zhǎng)。
使用 counters 集合
考慮以下 products 文檔。我們希望 _id 字段實(shí)現(xiàn) 從 1,2,3,4 到 n 的自動(dòng)增長(zhǎng)功能。
{ "_id":1, "product_name": "Apple iPhone", "category": "mobiles" }
為此,創(chuàng)建 counters 集合,序列字段值可以實(shí)現(xiàn)自動(dòng)長(zhǎng):
>db.createCollection("counters")
現(xiàn)在我們向 counters 集合中插入以下文檔,使用 productid 作為 key:
{ "_id":"productid", "sequence_value": 0 }
sequence_value 字段是序列通過(guò)自動(dòng)增長(zhǎng)后的一個(gè)值。
使用以下命令插入 counters 集合的序列文檔中:
>db.counters.insert({_id:"productid",sequence_value:0})
以上是mongodb設(shè)置主鍵的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!