1. 程式人生 > >MongoDB中基本的增刪改查操作

MongoDB中基本的增刪改查操作

插入

  • 語法

    db.集合名稱.insert(document)
  • 插入的內容是document(文件)型別,鍵值對形式,使用{}

  • 插入文件時,如果不指定引數_id,那麼MongoDB會為文件分配一個唯一的ObjectID

  • 例如

    // 建立集合students
    db.createCollection('students')
    // 向集合中插入一條學生資料
    db.students.insert({name:'張三',age:18,gender:'男',address:'北京市昌平區'})

簡單查詢

  • 語法

    db.集合名稱.find()  // 查詢了集合中所有的資料
  • 例如查詢集合students中所有的學生資料

    db.students.find()

更新

  • 語法

    db.集合名稱.update({query},{update},{multi:boolean})
    • 引數query:查詢的條件,類似於sql語句update中的where部分
    • 引數update:更新操作符,類似於sql語句update中的set部分
    • 引數multi:可選引數,預設是False,表示只更新找到的第一條資料,值為Ture表示吧滿足條件的文件全部更新
  • 全文件更新:

    db.students.update({name:'zhangsan'},{name:'張三'})

    執行完之後我們會看到

    這裡寫圖片描述

    這樣更新的話會將整個文件的值只保留下一個name,那麼我們應該只修改對應的某個鍵所對應的值呢?

    可以通過操作符 $set來完成對指定屬性的更新

    db.students.update({name:'lisi'},{$set:{name:'李四'}})

    我們可以看到,使用$set操作符之後之前對應的lisi的名字現在變成了李四

    這裡寫圖片描述

  • 修改多條匹配到的資訊,multi的應用

    // 比如我們將現有的資料中的性別為1的全部修改為0
    db.students.update({},{$set:{gender:0}},{multi:true})

    這裡寫圖片描述

儲存

  • 語法:

    db.集合名稱.save(document)
  • 例如:

    db.students.save({name:'隔壁老王',age:39,gender:1
    ,address:'shanxi'
    })

    這裡寫圖片描述

刪除

  • 語法

    db.集合名稱.remove({query},{justOne:boolean})
    • 引數query:可選引數,刪除文件的條件
    • 引數justOne:可選引數,設定為1為True,只刪除一條,預設False,表示刪除多條
  • 例子:只刪除匹配到的第一條

    db.students.remove({gender:0},{justOne:true})
  • 例子:全部刪除

    db.students.remove({})