安裝和啟動
- 安裝
本地mac Os推薦使用Homebrew
⚠️ 目前直接使用~~brew install mongodb~~ 安裝 mongodb 時提示:
Error: No available formula with the name 'mongodb'
;那是因為MongoDB不再是開源的了,並且已經從Homebrew中移除 #43770
最新安裝方式:brew install mongodb-community
- 配置
配置文件:`/usr/local/etc/mongod.conf`
日志目錄路徑:`/usr/local/var/log/mongodb`
數據目錄路徑:`/usr/local/var/mongodb`
- 啟動
本地終端輸入mongod --config /usr/local/etc/mongod.conf
啟動后另開終端輸入mongo
- mongod 是用來連接到mongodb數據庫服務器的,即服務器端。
- mongo 是用來啟動MongoDB shell的,是mongodb的命令行客戶端。
- 驗證
-
按照默認的配置文件啟動
mongod --config /usr/local/etc/mongod.conf
-
通過瀏覽器訪問http://localhost:27017/ 也可以驗證是否安裝成功,如果出現
It looks like you are trying to access MongoDB over HTTP on the native driver port.
說明安裝成功。
mongo常用命令
mongod 啟動mongodb后,在新的終端輸入
mongo
,進入MongoDB shell環境中
- 基礎命令
db // 顯示當前使用mongodb數據庫
show dbs // 查看當前所有已存在數據庫
use local // 使用當前存在的數據庫local(創建/切換數據庫)
db.createCollection("集合名稱") // 創建集合
db.集合名稱.drop() // 移除集合
show collections | show tables // 查看當前mongodb數據庫下所有集合(表)兩個命令都可以用
db.users.insert({userid:"admin",password:"123456"}) // 插入數據
db.users.find() // 查看users集合里數據
exit // 退出
- 增 -- 插入
db.collectionName.insert({userid:"admin",password:"123456"})
db.collectionName.insertOne() // 向指定集合中插入一條文檔數據
db.collectionName.insertMany() // 向指定集合中插入多條文檔數據
實例:
# 插入單條數據
> var document = db.collection.insertOne({"a": 3})
> document
{
"acknowledged" : true,
"insertedId" : ObjectId("571a218011a82a1d94c02333")
}
# 插入多條數據
> var res = db.collection.insertMany([{"b": 3}, {'c': 4}])
> res
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("571a22a911a82a1d94c02337"),
ObjectId("571a22a911a82a1d94c02338")
]
}
3. 刪 -- 清空集合數據
db.contact.remove({}) // 清空contact集合數據
4. 查 -- 查找
db.contact.find().pretty() // 查看contact集合下所有內容
db.contact.find({"_id":2338377732129792}) // 按字段指定值查詢數據
5. 改 -- 更新
db.contact.update({name:"user1"},{name:"jack"}) // 覆蓋
db.contact.update({name:”user1”},{$set:{address:”bj”}},0,1) // 更新,有則改之 無則添之
mongodb 實用報錯指南
-
mongod啟動后 報
Failed to unlink socket file /tmp/mongodb-27017.sock
解決方法: 在終端中輸入sudo rm /tmp/mongodb-27017.sock
移除該文件 -
mongod啟動后 報
Unable to create/open lock file
應該是沒有讀寫權限,加權限sudo chown 777 /data/db -
mongod啟動后,終端輸入命令mongo報道
directory /data/db not found.
; 說明默認的數據庫路徑不存在,我們首先需要創建該目錄。
sudo mkdir -p /data/db
磁盤根目錄下創建目錄需要sudo權限