執行啟動操作后,mongodb 在輸出一些必要信息后不會輸出任何信息,之后就等待連接的建立,當連接被建立后,就會開始打印日志信息。
使用 MongoDB shell 來連接 Mongodb 服務
標准 URI 連接語法:
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
-
mongodb:// 這是固定的格式,必須要指定。
-
username:password@ 可選項,如果設置,在連接數據庫服務器之后,驅動都會嘗試登陸這個數據庫
-
host1 必須的指定至少一個host, host1 是這個URI唯一要填寫的。它指定了要連接服務器的地址。如果要連接復制集,請指定多個主機地址。
-
portX 可選的指定端口,如果不填,默認為27017
-
/database 如果指定username:password@,連接並驗證登陸指定數據庫。若不指定,默認打開 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(); }); });
