MongoDB 提供了多种方式来连接数据库,以下是几种常见的连接方法:
mongo --host <hostname> --port <port> -u <username> -p <password> --authenticationDatabase <authDB>
示例:
mongo --host localhost --port 27017 -u myUser -p myPassword --authenticationDatabase admin
const { MongoClient } = require('mongodb');
// 连接字符串
const uri = "mongodb://username:password@hostname:port/database?authSource=admin";
async function connect() {
const client = new MongoClient(uri);
try {
await client.connect();
console.log("Connected successfully to server");
const db = client.db("myDatabase");
// 执行数据库操作...
} finally {
await client.close();
}
}
connect().catch(console.error);
from pymongo import MongoClient
# 连接字符串
uri = "mongodb://username:password@hostname:port/database?authSource=admin"
client = MongoClient(uri)
try:
db = client["myDatabase"]
print("Connected successfully")
# 执行数据库操作...
finally:
client.close()
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoDatabase;
public class MongoDBConnection {
public static void main(String[] args) {
String uri = "mongodb://username:password@hostname:port/database?authSource=admin";
try (MongoClient mongoClient = MongoClients.create(uri)) {
MongoDatabase database = mongoClient.getDatabase("myDatabase");
System.out.println("Connected successfully");
// 执行数据库操作...
}
}
}
标准的 MongoDB 连接字符串格式如下:
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[database][?options]]
常见选项:
- authSource
- 指定认证数据库
- replicaSet
- 连接副本集时使用
- ssl
- 启用 SSL 连接
- connectTimeoutMS
- 连接超时时间
连接被拒绝:
认证失败:
连接超时:
根据您的具体使用场景选择合适的连接方式,并确保遵循安全最佳实践。