1. 程式人生 > 實用技巧 >MongoDB:集合管理

MongoDB:集合管理

集合

MongoDB中的集合(Collection)是一組文件的集,相當於關係型資料庫中的表。

建立集合

MongoDB中使用db.createCollection()函式來建立集合

語法格式,name:集合名,options:對集合的約束

db.createCollection(name,options);

options常用引數說明:

  • capped:預設為false,設定為true時,則表示建立固定大小的集合,必須搭配引數size使用
  • size:此引數必須搭配capped引數使用,用來指定固定集合的大小,當文件超過設定最大值,mongodb會自動刪除舊文件為新文件騰出空間
  • max:用於限制固定集合中可存放的文件數,size引數會優先於此引數
  • autoIndexId:當為false時,則不會自動將'_id'欄位建立為索引。在4.0版本以後,不能在"local"以外的資料庫中設定此選項,且該屬性被標註為deprecated。

查詢當前庫中的所有的集合

show collections;
# show tables; 也行

此外,往mongodb中不存在的集合中插入一條資料,mongodb會預設建立該集合

db.tb_users2.insert({'name':'wj','age':23});

檢視集合

show tables;
show collections;

檢視集合詳細資訊:

db.集合名.stats();

#以下為詳細資訊(部分內容用省略)
{
        "ns" : "admin.tb_users2",# 資料庫名.集合名
        "size" : 48,#文件的位元組數
        "count" : 1,#文件個數
        "avgObjSize" : 48,#平均位元組數
        "storageSize" : 20480,
        "capped" : false,#是否為固定集合(固定大小集合)
        "wiredTiger" : {
                "metadata" : {
                        "formatVersion" : 1
                },
                "creationString" : .....,
                "type" : "file",
                "uri" : "statistics:table:collection-4--6828561572677876910",
                "LSM" : {
                },
                "block-manager" : {
                },
                "btree" : {
                },
                "cache" : {
                },
                "cache_walk" : {
                },
                "compression" : {
                },
                "cursor" : {
                },
                "reconciliation" : {
                },
                "session" : {
                        "object compaction" : 0
                },
                "transaction" : {
                        "update conflicts" : 0
                }
        },
        "nindexes" : 1,#索引數目
        "indexBuilds" : [ ],
        "totalIndexSize" : 20480,
        "indexSizes" : {
                "_id_" : 20480
        },
        "scaleFactor" : 1,
        "ok" : 1
}

刪除集合

db.集合名.drop();