自定義MongoDB的ObjectId

2021-08-15 10:36:21 字數 453 閱讀 6864

mongodb的objectid,由12位組成,其中前四位是乙個unix的時間戳,精確到秒,這樣就產生乙個問題,如果按objectid排序的話,可能得到的順序,和資料插入的順序是有差別的。

由此,需要自定義objectid生成器,也是12位組成,只是組成內容有差異,如下:

12*8位: 時間戳(48位) + seq(8位) + 機器碼(16位) + uuid(24位)

1.時間戳改為48位,佔6個位元組,可以用到99991231235959999(16進製制:e677d06867ff)

2.seq(8位):當前應用自增id,初始為0

3.機器碼(16位),佔2個位元組:取機器碼4位16進製制(& 0x0000ffff)

4.uuid(24位),佔4個位元組:隨機整數

ChatterBot自定義MongoDB路徑

預設資料庫為slite3,已經不能滿足需求,需改為mongodb class bot def init self self.my bot chatbot mode storage adapter chatterbot.storage.mongodatabaseadapter filters chat...

mongodb自定義字段 MongoDB雜湊分片

雜湊分片使用雜湊索引來在分片集群中對資料進行劃分。雜湊索引計算某乙個欄位的雜湊值作為索引值,這個值被用作片鍵。雜湊分片以減少定向操作和增加廣播操作作為代價,分片集群內的資料分布更加均衡。在雜湊之後,擁有比較 接近 的片鍵的文件將不太可能會分布在相同的資料庫或者分片上。mongos更有可能執行廣播操作...

MongoDB自定義使用者許可權

實現自定義使用者許可權 最近接手運維公司的mongo資料庫,雖然之前對mongo有一點點的使用,但真正能夠cover公司的mongo,還是有一定的挑戰,平時也是邊學習邊運維。前一陣子對於mongo做了兩件事,第乙個是實現乙個冷備系統,第二個是對mongo許可權的收斂,本章主要介紹一下mongo許可權...