NoSQL(非關係型數據庫)——MongoDB的(CURD)基本操做

命令操做


庫操做

  • 建立庫
    use 新庫名
    若是數據庫不存在,則建立數據庫,不然切換到指定數據庫。css

  • 顯示庫mongodb

    • 顯示當前庫
      db
    • 顯示全部庫
      show dbs
  • 刪除庫
    db.dropDatabase();數據庫

表(集合)操做

MongoDB表稱之爲集合Collectionapp

  • 建立表
    db.createCollection(表名, options);spa

    • options: 可選參數, 指定有關內存大小及索引的選項

    options 能夠是以下參數:code

    字段 類型 描述
    capped 布爾 (可選)若是爲 true,則建立固定集合。固定集合是指有着固定大小的集合,當達到最大值時,它會自動覆蓋最先的文檔。當該值爲 true 時,必須指定 size 參數。
    autoIndexId 布爾 (可選)如爲 true,自動在 _id 字段建立索引。默認爲 false。
    size 數值 (可選)爲固定集合指定一個最大值(以字節計)。若是 capped 爲 true,也須要指定該字段。
    max 數值 (可選)指定固定集合中包含文檔的最大數量。

具體實例:
建立固定集合user,整個集合空間大小 6142800 KB, 文檔最大個數爲 10000 個server

db.createCollection("user",{ capped: true, autoIndexId: true, size: 6142800, max : 10000 } )
  • 修改表
    db.舊錶名.renameCollection('新表名');
  • 查看錶
    show collections|tables;
  • 刪除表
    db.表名.drop();

數據(文檔)的操做

全部的存儲在集合中的數據都是BSON格式對象

  • 數據的增長
    • db.表名.insert(document);
    • db.表名.save(document);

document表示都是對象格式{對象名:對象值,對象名:對象值,對象名:對象值} 對象裏面能夠任何數據類型索引

具體實例:內存

db.user.insert({ name:'張三',sex:'男',age:30,city:['中國','江蘇','常州'],score:{chinese:80,math:90,english:95}});
 db.user.save({ name:'李四',sex:'女',age:20,city:['中國','江蘇','無錫'],score:{chinese:90,math:70,english:85}});
  • 數據的修改
    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();
相關文章
相關標籤/搜索