mongodb簡單操作

來源:互聯網
上載者:User

標籤:自動   統計   設定檔   排列   情況   .so   add   正則   shu   

mongodbUbuntu
sudo apt-get install mongodb
Mac
brew install mongodb
啟動
  1. 直接啟動

sudo mongod

注意事項:啟動失敗

  1. 資料庫不存在 建立檔案夾 /data/db

  2. 許可權不夠,添加 sudo

  1. 啟動參數說明

--port 進行設定預設連接埠
--dbpath 設定資料庫路徑
--config 通過指定設定檔去啟動mongodb,再設定檔中可以配置預設連接埠、資料庫路徑等等

關閉
  1. 直接kill關閉(非常不推薦使用,最好不要使用)

sudo kill -9 進程號
  1. 通過進入資料庫中直接關閉

use admindb.shutdownServer()
資料庫顯示資料庫列表
show databases// 或show dbs
顯示當前資料庫
db
進入資料庫
use 資料庫名
建立資料庫

只要插入資料就自動建立資料庫

刪除資料庫
// 前提use db// 刪除資料庫db.dropDatabase()
集合(表)操作建立集合
  1. 預設情況下只要插入資料自動建立集合

  2. 手動建立集合

db.createCollection(集合名稱)
顯示集合列表
show collections
刪除集合
db.集合名.drop()
資料操作建立
// 插入資料,json串db.my_coll.insert({    "a":"x",    "b":{        "q":"a",        "p":"b"    },    "c":[1,2,3]})// 批量插入data = [    {"test01":"val1"},    {"test02":"val2"},    {"a":{"p":"q"},"b":123}]db.my_coll.insertMany(data)
更新

預設整體更新,如果需要局部更新需要使用 $set,預設是僅更新一次,如果需要批次更新需要添加第三個參數 multi

// 預設更新是完整更新,也就是替換db.stu.update(    // 更新條件    {        "name":"郭靖"    },    // 更新內容    {        "age":88    })// 局部更新db.stu.update(    // 更新條件    {        "name":"黃蓉"    },    // 更新內容    {        // 局部更新內容        $set:{            "age":80        }    })// 預設情況下是只更新一次,如果需要批次更新,添加第三個參數,multi 設定為True 就是批次更新db.stu.update(    // 更新條件    {        "age":{$gt:20}    },    // 更新內容    {        // 局部更新內容        $set:{            "age":36        }    },    // 更新方式    {        multi:true    })
刪除
// 刪除db.stu.remove(    // 刪除條件    {        "age":36    },    // 如果想僅僅刪一條    {        justOne:true    })// 清空資料db.stu.remove({})
儲存
// 通過 _id 查詢資料如果存在就更新,如果不存在就插入db.my_test.save({    "_id":1,    "a":"b"})
查詢簡單查詢
db.集合名.find()
複雜查詢
// 預設查詢是 並db.stu.find(    // 查詢條件    {        "hometown":"蒙古",        "age":20    })// 比較子($gt,$gte,$lt,$lte,$ne)db.stu.find(    // 查詢條件    {        "age":{$gt:20}    })// 邏輯運算子 $ordb.stu.find(    // 查詢條件    {        "age":{$gt:20},        $or:[            {"hometown":"蒙古"},            {"gender":false}        ]    })// 範圍運算子 $in,$nin// 表示在列表中的db.stu.find(    // 查詢條件    {        "age":{$nin:[18,45]}    })// Regexdb.stu.find(    // 查詢條件    {        "name":/^黃/    })db.stu.find(    // 查詢條件    {        "name":{$regex:"^黃"}    })// 自訂查詢db.stu.find(    // 查詢條件    {        $where: function(){            // 返回 true 表示符合條件            // this 表示目前記錄            return this.age >= 18 && this.gender == false        }    })
進階查詢
// limit 和 skip// 注意: 先 skip 再 limit 不管誰先誰後db.stu.find().limit(2)db.stu.find().skip(1)db.stu.find().limit(2).skip(1)db.stu.find().skip(1).limit(2)// 投影 是否顯示資料// 在不同的資料庫版本中 方式不同db.stu.find(    // 查詢條件    {},    // 投影方式,顯示資料欄位    {        "name":1    })// 排序// 參數1為升序排列// 參數-1為降序排列db.stu.find().sort(    {        age:-1,        hometown:1    })// 統計個數db.stu.find().count()// 去除重複// 第一個參數是去重的欄位// 第二個是查詢條件db.stu.distinct('hometown',{age:{$gt:18}})

mongodb簡單操作

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.