指令操作
庫操作
- 建立庫
如果資料庫不存在,則建立資料庫,否則切換到指定資料庫。use 新庫名
- 顯示庫
- 顯示目前庫
db
- 顯示所有庫
show dbs
- 顯示目前庫
- 删除庫
db.dropDatabase();
表(集合)操作
MongoDB表稱之為集合Collection
- 建立表
db.createCollection(表名, options);
- options: 可選參數, 指定有關記憶體大小及索引的選項
字段 類型 描述 capped 布爾 (可選)如果為 true,則建立固定集合。固定集合是指有着固定大小的集合,當達到最大值時,它會自動覆寫最早的文檔。當該值為 true 時,必須指定 size 參數。 autoIndexId 布爾 (可選)如為 true,自動在 _id 字段建立索引。預設為 false。 size 數值 (可選)為固定集合指定一個最大值(以位元組計)。如果 capped 為 true,也需要指定該字段。 max 數值 (可選)指定固定集合中包含文檔的最大數量。
具體執行個體:
建立固定集合user,整個集合空間大小 6142800 KB, 文檔最大個數為 10000 個
db.createCollection("user",{ capped: true, autoIndexId: true, size: , max : } )
- 修改表
db.舊表名.renameCollection('新表名');
- 檢視表
show collections|tables;
- 删除表
db.表名.drop();
資料(文檔)的操作
所有的存儲在集合中的資料都是BSON格式
- 資料的增加
-
db.表名.insert(document);
-
db.表名.save(document);
-
document表示都是對象格式{對象名:對象值,對象名:對象值,對象名:對象值} 對象裡面可以任何資料類型
具體執行個體:
db.user.insert({name:'張三',sex:'男',age:,city:['中國','江蘇','常州'],score:{chinese:,math:,english:}});
db.user.save({name:'李四',sex:'女',age:,city:['中國','江蘇','無錫'],score:{chinese:,math:,english:}});
- 資料的修改
參數說明db.表名.update({修改的條件},{$set:{修改的内容}},可選{upsert: <boolean>,multi: <boolean>,writeConcern: <document>})
參數 含義 upsert 可選,如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入 multi 可選,mongodb 預設是false,隻更新第一條記錄,如果參數為true,就把按條件查出來多條記錄全部更新 writeConcern 可選,抛出異常的級别。
具體執行個體:
db.user.update({name:'張三'},{$set:{sex:'保密'}});
-
資料的删除
*删除所有滿足條件的
db.表名.remove({删除的條件});
- 删除一條重複資料
db.表名.remove({删除的條件},{justOne:true|1})
- 删除一條重複資料
-
資料的檢視
非結構化的方式
-
易讀的方式(格式顯示)db.表名.find();
-
db.col.find().pretty();
-
- 顯示中不想顯示自動的id值,可以在find({},{_id:false})
- 查詢某一條find({name:’張三’},{_id:false})
具體執行個體:
db.user.find({},{_id:false});
db.user.find({},{_id:false}).pretty();