Mongodb語法初識(一)

MongoDB啓動服務器

  • 第一步:下載安裝包
  • 第二步:解壓下載到的安裝包,找到bin目錄下面所有.exe文件
  • 第三步:在該目錄下新建「data」文件夾,它將會做爲數據存放的根文件夾。
  • 第四步:打開CMD窗口,切換到該目錄下,按照以下方式輸入命令:mongod --dbpath G:\MongoDB\data
  • 第四步:測試是否啓動,http://localhost:27017/

MongoDB 插入文檔

  • db.collection_name.insert(document) , 使用 insert()save() 方法向集合中插入文檔,若是該集合不在該數據庫中, MongoDB 會自動建立該集合並插入文檔。
  • MongoDB 能夠將數據定義爲一個變量,執行插入操做:db.col.insert(document),若是不指定 _id 字段 save() 方法相似於 insert() 方法。若是指定 _id 字段,則會更新該 _id 的數據。

MongoDB 語法

  • use database_name命令:若是數據庫不存在,則建立數據庫,不然切換到指定數據庫(默認爲 test)
  • db.dropDatabase()命令: 刪除當前數據庫,默認爲 test
  • show dbs 命令:查看全部數據庫
  • db 命令: 查看當前數據庫名。
  • db.createCollection(name, options)命令:建立集合sql

    • MongoDB中並不須要建立集合。 當插入一些文檔 MongoDB 會自動建立集合。db.yiibai.insert({"name" : "yiibai"})
  • show collections 命令:檢查建立的集合
  • db.collection_name.drop() 命令:從數據庫中刪除集合。
  • db.collection_name.find()命令:從集合查詢MongoDB數據數據庫

    • find() 將在非結構化的方式顯示全部的文件。 若是顯示結果是格式化的,那麼能夠用db.collection_name.find().pretty()
      除了find()方法還有findOne()方法,僅返回一個文檔。
    • MongoDB投影,只選擇須要的數據,而不是選擇整個一個文檔的數據​。db.collection_name.find({},{KEY:1})
  • db.mycol.update({key1:value1},{$set:{key2:value2}})命令:將現有的文檔中的值更新數組

    • 默認狀況下,MongoDB將只更新單一文件,更新多,須要一個參數 'multi' 設置爲 truedb.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}},{multi:true})
  • db.mycol.remove(DELLETION_CRITTERIA)命令:用於從集合中刪除文檔服務器

    • db.mycol.remove()命令:刪除全部文件
  • RDBMS Where子句等效於MongoDB數據結構

    • AND條件:使用db.mycol.find({key1:value1, key2:value2}).pretty()命令
    • OR條件:使用db.mycol.find({$or: [{key1: value1}, {key2:value2}]}).pretty(),須要使用$or關鍵字
    • 使用 AND 和 OR條件:使用db.mycol.find({"likes": {$gt:10}, $or: [{key1:value1}, { key2:value2}] }).pretty()命令
  • 記錄:Limit() 方法,db.collection_name.find().limit(NUMBER),skip()也接受數字類型參數並用於跳過文件數。yii

    • db.collection_name.find().limit(NUMBER).skip(NUMBER)
  • 文檔排序:sort()方法, sort() 方法接受一個包含字段列表以及排序順序的文檔。 要使用1和-1指定排序順序。1用於升序,而-1是用於降序。測試

    • db.mycol.find({},{"title":1,_id:0}).sort({"title":-1})
  • MongoDB索引:使用db.mycol.ensureIndex({"title":1,"description":-1})code

    • 索引支持查詢高效率執行,索引是特殊的數據結構,存儲在一個易於設置遍歷形式的數據的一小部分。索引存儲在索引中指定特定字段的值或一組字段,並排序字段的值。
  • MongoDB 聚合:使用db.yibai.aggregate([{$group:{_id:"$name",num:{$sum:1}}}])排序

    • 上述用途將等效於sql查詢:select name, count(*) from mycol group by name
  • MongoDB 複製: 經過使用副本集的複製來實現。副本集是一組承載同一個數據集的mongod實例。在副本的一個節點是接收全部的寫操做主節點。全部的實例,次級,應用操做從主以便它們具備相同的數據集。副本集只能有一個主節點。
  • 彙集表達式索引

    • $sum :從集合累加全部文檔中的定義值
    • $avg : 從集合中的全部文檔計算全部給定值的平均值
    • $min : 從集合中獲取的全部文件的最小的相應值
    • $max :從集合中的全部文檔中的相應值中獲取最大值
    • $push : 插入數組值到文檔中
    • $addToSet :插入值所產生的數組到文檔中,但不會產生重複
相關文章
相關標籤/搜索