新聞中心
mongoDb某個字段不滿足遞增或者遞減應(yīng)該怎么創(chuàng)建索引?
遞增遞減與否,與索引沒什么必然聯(lián)系。 就好比說難道字段是字符串類型的,就建不了索引了? 你問題里說的應(yīng)該是一個數(shù)字格式的、且有重復(fù)值的字段吧?

成都創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)甘谷,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
mongo里面索引幾乎與傳統(tǒng)數(shù)據(jù)庫一樣。 你這種情況,建立一個普通索引(默認為非唯一索引)就好了。
如何使用MongoDb實現(xiàn)分布式Id?
傳統(tǒng)數(shù)據(jù)庫軟件開發(fā)中,主鍵自動生成技術(shù)各大數(shù)據(jù)庫對于該需求也提供了相應(yīng)的支持,比如MySQL的自增。
分布式ID特性包括:唯一性:確保生成的ID是全網(wǎng)唯一的;高可用性:確保任何時候都能正確的生成ID。
github上對分布式ID這個特性的描述是:分布式唯一和時間序列。
主要方案方案包括
MongoDB的ObjectId設(shè)計成輕量型的,不同的機器都能用全局唯一
它的格式:
前4 個字節(jié)是從標準紀元開始的時間戳,單位為秒。時間戳,與隨后的5 個字節(jié)組合起來,提供了秒級別的唯一性。由于時間戳在前,這意味著ObjectId 大致會按照插入的順序排列。這對于某些方面很有用,如將其作為索引提高效率。這4 個字節(jié)也隱含了文檔創(chuàng)建的時間。絕大多數(shù)客戶端類庫都會公開一個方法從ObjectId 獲取這個信息。
接下來的3 字節(jié)是所在主機的唯一標識符。通常是機器主機名的散列值。這樣就可以確保不同主機生成不同的ObjectId,不產(chǎn)生沖突。 為了確保在同一臺機器上并發(fā)的多個進程產(chǎn)生的ObjectId 是唯一的,接下來的兩字節(jié)來自產(chǎn)生ObjectId 的進程標識符(PID)。
機器ID是服務(wù)器主機標識,通常是機器主機名的散列值。
到此,以上就是小編對于mongodb創(chuàng)建唯一索引的問題就介紹到這了,希望這2點解答對大家有用。
當前題目:如何使用MongoDb實現(xiàn)分布式Id?
當前鏈接:http://www.5511xx.com/article/cojgpip.html


咨詢
建站咨詢
