mongodb配置和基本操作
MongoDB
3.0新特性
WiredTiger
MMAPv1
可插拔引擎API
基於web的可視化管理工具
查看版本號
mongod --version
啟動數據庫
mongod --dbpath $dbpath --logpath $logpath --logappend --fork --port=27000
$dbpath 數據目錄
$logpath 是log文件的路徑 不是目錄路徑
logappend 日誌追加方式
--fork 後臺運行
在win下
添加到系統服務中
mongod --dbpath $dbpath --logpath $logpath --logappend --install/remove --serviceName "MongoDb"
可以用 服務再啟動
net start/stop MongoDB
mongod --dbpath ./data --logpath ./log/mongo.log --logappend --fork
操作
啟動
mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/log/mon.log --logappend --fork --port=27000
默認端口 27017
連接
mongo 遠程主機ip或DNS:MongoDB端口號/數據庫名 -u user -p password
mongo 127.0.0.1:27000
mongo --port=27017
查詢所有數據庫
show databases
關閉
在一個已經連接上的客戶端
use admin
db.shutdownServer()
根據配置文件來啟動
建立mongodb.conf
#設置數據目錄 dbpath=/usr/local/mongodb/data #設置日誌文件位置 logpath=/usr/local/mongodb/log/mon.log #打開日誌輸出操作 logappend=true #不使用用戶管理驗證 noauth=true port=27017
指定配置文件來啟動
mongod -f /usr/local/mongodb/mongodb.conf
-----------------------------------
基本操作
1.使用hk數據庫
> use hk
switched to db hk
> show databases
admin 0.000GB
local 0.000GB
當沒有實際的數據操作時,use 不會創建數據庫
2.創建集合
db.createCollection("stu")
> db.createCollection("stu") { "ok" : 1 } > show databases admin 0.000GB hk 0.000GB local 0.000GB
這時hk數據庫才會被真正創建
查看集合裏所有的數據
db.stu.find()
3.插入數據
db.stu.insert({"name":‘hk‘,‘age‘:10,‘class‘:20});
> db.stu.find() > db.stu.insert({"name":‘hk‘,‘age‘:10,‘class‘:20}); WriteResult({ "nInserted" : 1 }) > db.stu.find() { "_id" : ObjectId("59295c842e2070afc7e34f3e"), "name" : "hk", "age" : 10, "class" : 20 }
查看集合
> show collections
stu
4.查看hk表數據
db.集合名稱.find({若幹條件})
插入不同結構的數據
var data={ "name":"張三", "sex":"男", "hobby":"足球", "english":89 }; db.stu.insert(data); > db.stu.find() { "_id" : ObjectId("59295c842e2070afc7e34f3e"), "name" : "hk", "age" : 10, "class" : 20 } { "_id" : ObjectId("59295e3e2e2070afc7e34f3f"), "name" : "張三", "sex" : "男", "hobby" : "足球", "english" : 89 }
mongodb每一條記錄會生成_id
組成=時間戳+機器碼+PID+計數器
5.查看單獨的文檔信息
> db.stu.findOne() { "_id" : ObjectId("59295c842e2070afc7e34f3e"), "name" : "hk", "age" : 10, "class" : 20 }
6.刪除數據
db.stu.remove({"_id" : ObjectId("59295c842e2070afc7e34f3e")}); > db.stu.remove({"_id" : ObjectId("59295c842e2070afc7e34f3e")}); WriteResult({ "nRemoved" : 1 }) > db.stu.find() { "_id" : ObjectId("59295e3e2e2070afc7e34f3f"), "name" : "張三", "sex" : "男", "hobby" : "足球", "english" : 89 }
7.更新數據
var data={ "name":"張三", "sex":"女", "hobby":"跳舞", "english":99 }; db.stu.update({ "_id" : ObjectId("59295e3e2e2070afc7e34f3f")},data);
操作示例
> var data={ ... "name":"張三", ... "sex":"女", ... "hobby":"跳舞", ... "english":99 ... }; > db.stu.update({ "_id" : ObjectId("59295e3e2e2070afc7e34f3f")},data); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.stu.find() { "_id" : ObjectId("59295e3e2e2070afc7e34f3f"), "name" : "張三", "sex" : "女", "hobby" : "跳舞", "english" : 99 } 完全不同結構的文檔更新 > var data={ ... "a":‘ajax‘ ... } > db.stu.update({ "_id" : ObjectId("59295e3e2e2070afc7e34f3f")},data); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.stu.find() { "_id" : ObjectId("59295e3e2e2070afc7e34f3f"), "a" : "ajax" }View Code
8.刪除集合
db.stu.drop()
> db.stu.drop()
true
> show collections
9.刪除數據庫(刪除刪除當前所在的數據庫,先切換再操作)
db.dropDatabase()
mongodb配置和基本操作