1. 程式人生 > >MongoDB基本操作命令大全

MongoDB基本操作命令大全

基本操作命令 進行 sch 查看 ons port list 自動 情況

MongoDB是一個介於關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。MongoDB的操作和mysql中的操作很相像,使用過mysql的人群也能很快的適應MongoDB中的操作。

mongo進入數據庫後
show dbs; //查看當前存在的數據庫


use school; //當school數據庫存在時是使用該數據庫,不存在則創建,但是不進行任何操作,不保存該數據庫


show tables;
show collections;
兩條都是查詢所在數據庫的集合


db.list.insert({"id":1,"name":"zhangsan"}); //集合list中插入數據,集合list不存在是直接創建並寫入內容。


db.list.find() //查詢list集合中所有的內容
db.list.find({"id":10}) //查詢list集合中所有id為10的內容
db.list.findOne({"id":10}) //查詢list集合中第一個id為10的數據
a=db.list.findOne({"id":10}) //查詢list集合內容,並賦予別名a
typeof(a.id) //查看a的屬性類型


db.list.update({"id":10},{$set:{"name":"tom"}}); //修改id為10的數據,將name改為tom


db.list.remove({"id":10}) //刪除list集合中id為10的數據


循環插入多個數據
for (var i=1;i<=50;i++;)db.list.insert("id":i,"name":"tom"+1)
db.list.count() //查看多少條數據


db.list.drop //輸出list集合


db.dropDatabases; //刪除數據庫,當前所使用的哪個數據庫就刪哪個
db; //可以看到當前所在的數據庫


db.createUser({"user":"root","pwd":"123123","roles":["root"]}) //創建管理用戶

Successfully added user: { "user" : "root", "roles" : [ "root" ] } //顯示創建成功


導入和導出數據庫中集合
退出MongoDB
mongoexport -d school -c list -o /opt/school.json //導出集合
-d指定數據庫 -c指定集合 -o指定導出到哪個目錄,文件名一定要以點json結尾
mongoimport -d abc -c list --file /opt/list.json //導入集合
-d指定數據庫 -c指定集合 --file後跟導入數據庫路徑
導入時,可以不先創建對應數據,MongoDB會自動幫你創建
mongoexport -d school -c list -q ‘{"id":{"$eq":6}}‘ -o /opt/list1.json //指定某條數據進行導出


備份一個數據庫
mongodump -d school-o /opt/ //備份整個數據庫,在opt目錄下生成一個目錄為school
mongorestore -d school2 --dir=/backup/school //還原


db.copyDatabases("school","school2") //克隆數據庫


克隆集合
db.runCommand({"cloneCollection":"school.list","from":"192.168.60.135:27017"}) 從192.168.60.135:27017上克隆school數據上的list集合


創建用戶
db.createUser({"user":"root","pwd":"123123","roles":["root"]}) //創建一個用戶,權限是超級用戶root,密碼123
登陸數據庫的時候需要先進入admin數據庫
db.auth("rooot","123")
結果為1時,可以操作數據庫


刪除用戶
db.removeUser("username") //移除用戶(用戶名)


結束mongodb進程,一般用於輸入語句卡住等情況
db.currentOp() //查看當前正在運行的進程
"opid" : 5118, //進程號opid
db.killOp(5118) //結束這個進程


MongoDB基本操作命令大全