天天看點

NoSQL(非關系型資料庫)——MongoDB的(CURD)基本操作指令操作

指令操作

庫操作

  • 建立庫

    use 新庫名

    如果資料庫不存在,則建立資料庫,否則切換到指定資料庫。
  • 顯示庫
    • 顯示目前庫

      db

    • 顯示所有庫

      show dbs

  • 删除庫

    db.dropDatabase();

表(集合)操作

MongoDB表稱之為集合Collection
  • 建立表

    db.createCollection(表名, options);

    • 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();