MongoDB: 入門指南

如何開始使用 MongoDB

要使用 Mongo CLI 連接到您的 MongoDB 實例,您可以使用以下命令:

mongo --quiet mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true

例如,如果您想以 admin 用戶身份連接到 admin 資料庫,您可以運行:

mongo --quiet mongodb://admin:<password>@<XXXXXX>.stackhero-network.com:27017/admin?tls=true

如果您的系統上未安裝 Mongo CLI,您可以從官方 MongoDB 文件下載。或者,如果您的系統上有 Docker,您可能會覺得這個命令有用:

docker run -it mongo /bin/bash

為了提高安全性並確保更好的組織,建議為每個資料庫創建唯一的用戶。以下是一個創建新用戶的範例腳本:

db.getSiblingDB("myDatabase")
  .createUser({
    user: "myUser",
    pwd: "myPassword",
    roles: [ { role: "readWrite", db: "myDatabase" } ],
    passwordDigestor: "server"
  });

上述腳本創建了一個名為 myUser 的用戶,密碼為 myPassword,並授予他們對 myDatabase 資料庫的讀寫權限。

警告 確保您在執行用戶創建操作時以 admin 用戶身份連接。

要從 myDatabase 資料庫中刪除用戶,例如 myUser,您可以執行以下命令:

db.getSiblingDB("myDatabase").dropUser("myUser");

要備份您的 MongoDB 數據,您可以使用以下命令:

mongodump --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

如果您遇到如下錯誤:

authentication failed for admin on <database> from client <ip>; UserNotFound: Could not find user admin@<database>

這可能是因為 admin 用戶未註冊到指定的資料庫。添加 --authenticationDatabase=admin 選項可能會解決此問題:

mongodump --authenticationDatabase=admin --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

要進行壓縮備份,您可以包含 --gzip 選項:

mongodump --gzip --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

當嘗試通過 Admin Mongo UI 創建用戶時,可能會出現此錯誤。為避免此情況,請使用在 MongoDB 中創建資料庫和用戶部分中提供的 Mongo 查詢。

注意:Admin Mongo UI 不支持直接查詢執行。相反,您可以考慮使用 Mongo CLI(了解更多)或 GUI 工具如 Robo 3T(查看配置指南)。