不同于普通集合,固定集合必須在使用之前顯示創(chuàng)建,可以使用create命令創(chuàng)建固定集合。在shell中,可以使用db.createCollection函數(shù):
成都創(chuàng)新互聯(lián)網(wǎng)站設計,為客戶量身定制各類網(wǎng)站建設業(yè)務,包括企業(yè)型、電子商務型、響應式網(wǎng)站設計、行業(yè)門戶型等各類網(wǎng)站,實戰(zhàn)經(jīng)驗豐富,成功案例眾多。以客戶利益為出發(fā)點,成都創(chuàng)新互聯(lián)網(wǎng)站制作為客戶規(guī)劃、按需定制制作符合企業(yè)需求、帶有營銷價值的網(wǎng)絡建站方案認真對待每一個客戶,我們不用口頭的語言來吹擂我們的優(yōu)秀,上1000家的成功案例見證著我們的成長。
//創(chuàng)建大小為1024字節(jié)的固定集合 db.createCollection("capped",{capped:true,size:1024}); //創(chuàng)建大小為1024字節(jié),文檔數(shù)量為100的固定集合 db.createCollection("capped",{capped:true,size:1024,max:100});
值得注意的是, size參數(shù)為必選項, max參數(shù)為可選項。不管先達到哪個限制,之后插入的新文檔會把舊文檔擠出集合,固定集合的文檔數(shù)量不能超過設置的文檔數(shù)量,固定集合的大小也不能超過設置的大小。
固定集合創(chuàng)建之后,就不能改變了,如需修改固定集合的屬性,就只能刪除后再創(chuàng)建了。因此,在創(chuàng)建大的固定集合之前應該仔細想清楚它的大小。
除此之外,還可以使用convertToCapped命令將常規(guī)集合轉(zhuǎn)換為固定集合:
db.runCommand({convertToCapped:"test", size:1024, max:100});
注意,無法將固定集合轉(zhuǎn)換為非固定集合。