mongodb的學習-4-使用 MongoDB shell 來連線 Mongodb 服務
阿新 • • 發佈:2018-12-01
執行啟動操作後,mongodb 在輸出一些必要資訊後不會輸出任何資訊,之後就等待連線的建立,當連線被建立後,就會開始列印日誌資訊。
使用 MongoDB shell 來連線 Mongodb 服務
標準 URI 連線語法:
mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
-
mongodb:// 這是固定的格式,必須要指定。
-
username:[email protected] 可選項,如果設定,在連線資料庫伺服器之後,驅動都會嘗試登陸這個資料庫
-
host1 必須的指定至少一個host, host1 是這個URI唯一要填寫的。它指定了要連線伺服器的地址。如果要連線複製集,請指定多個主機地址。
-
portX 可選的指定埠,如果不填,預設為27017
-
/database 如果指定username:[email protected],連線並驗證登陸指定資料庫。若不指定,預設開啟 test 資料庫。
-
?options 是連線選項。如果不使用/database,則前面需要加上/。所有連線選項都是鍵值對name=value,鍵值對之間通過&或;(分號)隔開
標準的連線格式包含了多個選項(options),如下所示:
選項 | 描述 |
---|---|
replicaSet=name | 驗證replica set的名稱。 Impliesconnect=replicaSet. |
slaveOk=true|false |
|
safe=true|false |
|
w=n | 驅動新增 { w : n } 到getLastError命令. 應用於safe=true。 |
wtimeoutMS=ms | 驅動新增 { wtimeout : ms } 到 getlasterror 命令. 應用於 safe=true. |
fsync=true|false |
|
journal=true|false | 如果設定為 true, 同步到 journal (在提交到資料庫前寫入到實體中). 應用於 safe=true |
connectTimeoutMS=ms | 可以開啟連線的時間。 |
socketTimeoutMS=ms | 傳送和接受sockets的時間。 |
就比如,我們執行mongo時:
wanghuideMBP:~ wanghui$ mongo MongoDB shell version v3.6.4 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.6.4
可見connecting to: mongodb://127.0.0.1:27017
mongodb://127.0.0.1:27017 就等價於 mongo
詳細的看http://www.runoob.com/mongodb/mongodb-connections.html
在本部落格的Node.js 連線 MongoDB-7可見nodejs連線資料庫的url格式就是這個:
var MongoClient = require('mongodb').MongoClient; var url = "mongodb://127.0.0.1:27017/"; MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) { if (err) throw err; var dbo = db.db("mydatabase"); dbo.collection("products").drop(function(err, delOK) { // 執行成功 delOK 返回 true,否則返回 false if (err) throw err; if (delOK) console.log("集合已刪除"); db.close(); }); });