MongoDB入門

安裝

安裝MongoDB

  1. 從官網下載

  2. 安裝

  3. 測試鏈接

  4. 啓用

安裝MongoDB Windows服務

> d:\mongodb\bin>mongod --dbpath "d:\mongodb\data\db" --logpath "d:\mongodb\data\log\MongoDB.log" --install --serviceName "MongoDB"mongodb

注:必須有管理員權限
數據庫

數據庫操做

  1. 顯示所示數據庫
    1. show dbs

  2. (建立)切換數據庫
    1. use test

  3. 顯示當前數據庫的全部集合
    1. show collections

  4. 刪除數據庫
    1. use newDB
    2. db.dropDatabase()

集合查詢

條件查詢

  • db.collection.find({ "key" : value })     查找key=value的數據
  • db.collection.find({ "key" : { $gt: value } })     key > value
  • db.collection.find({ "key" : { $lt: value } })     key < value
  • db.collection.find({ "key" : { $gte: value } })     key >= value
  • db.collection.find({ "key" : { $lte: value } })     key <= value
  • db.collection.find({ "key" : { $gt: value1 , $lt: value2 } })    value1 < key <value2
  • db.collection.find({ "key" : { $ne: value } })     key <> value
  • db.collection.find({ "key" : { $mod : [ 10 , 1 ] } })    取模運算,條件至關於key % 10 == 1 即key除以10餘數爲1的
  • db.collection.find({ "key" : { $nin: [ 1, 2, 3 ] } })     不屬於,條件至關於key的值不屬於[ 1, 2, 3 ]中任何一個
  • db.collection.find({ "key" : { $in: [ 1, 2, 3 ] } })     屬於,條件至關於key等於[ 1, 2, 3 ]中任何一個
  • db.collection.find({ "key" : { $size: 1 } })    $size 數量、尺寸,條件至關於key的值的數量是1(key必須是數組,一個值的狀況不能算是數量爲1的數組)
  • db.collection.find({ "key" : { $exists : true|false } })     $exists 字段存在,true返回存在字段key的數據,false返回不存在字度key的數據
  • db.collection.find({ "key": /^val.*val$/i })     正則,相似like;"i"忽略大小寫,"m"支持多行
  • db.collection.find({ $or : [{a : 1}, {b : 2} ] })     $or或 (注意:MongoDB 1.5.3後版本可用),符合條件a=1的或者符合條件b=2的數據都會查詢出來
  • db.collection.find({ "key": value , $or : [{ a : 1 } , { b : 2 }] })     符合條件key=value ,同時符合其餘兩個條件中任意一個的數據
  • db.collection.find({ "key.subkey" :value })    內嵌對象中的值匹配,注意:"key.subkey"必須加引號
  • db.collection.find({ "key": { $not : /^val.*val$/i } })    這是一個與其餘查詢條件 組合 使用的操做符,不會單獨使用。上述查詢條件獲得的結果集加上$not以後就能得到相反的集合。

排序

  • db.collection.find().sort({ "key1" : -1 ,"key2" : 1 })    這裏的1表明升序,-1表明降序

其它

  • db.collection.find().limit(5)    控制返回結果數量,若是參數是0,則看成沒有約束,limit()將不起做用
  • db.collection.find().skip(5)    控制返回結果跳過多少數量,若是參數是0,則看成沒有約束,skip()將不起做用,或者說跳過了0條
  • db.collection.find().skip(5).limit(5)    可用來作分頁,跳過5條數據再取5條數據
  • db.collection.find().count(true)    count()返回結果集的條數
  • db.collection.find().skip(5).limit(5).count(true)    在加入skip()和limit()這兩個操做時,要得到實際返回的結果數,須要一個參數true,不然返回的是符合查詢條件的結果總數

集合修改

  1. 新增集合
    db.createCollection

  2. 修改集合(增量修改,特別要注意,以避免覆蓋原數據)數組

     

  3. 刪除集合指定數據測試

    db.Book.remove({name: ' Alice '})
  4. 清空集合spa

    db.Book.remove()
  5. 刪除集合
    code

    db.Book.drop()

幫助

  1. 數據庫的幫助
    1. db.help()

  2. 集合的幫助
    1. db.foo.help()

相關文章
相關標籤/搜索