如 deno.land/x/mongo 中所写,要连接到 mongo Atlas,应该使用这样的配置:
import { MongoClient } from "https://deno.land/x/mongo@v0.21.0/mod.ts";
const client1 = new MongoClient();
await client.connect({
db: "<db>",
tls: true,
servers: [
{
host: "<host>",
port: 27017,
},
],
credential: {
username: "<user>",
password: "<password>",
db: "<db>",
mechanism: "SCRAM-SHA-1",
},
});
const db = client1.database("TestingDB");
export default db;
在那里,<host>
应替换为特定的集群地址(类似于:cluster0.hmdnu.mongodb.net
)而不是完整的字符串,如 mongodb+srv://user1:MYPASSWORD@cluster0.hmdnu.mongodb.net/TestingDB?retryWrites=true&w=majority
。
此解决方案运行良好。但是,我认为有一个缺点:有时,Mongo 集群可能会失败,而辅助集群可能会成为主要集群。我们是否在我们的代码上使用了一个特定的集群,该集群可能会关闭,我们的程序也会关闭。任何人遇到类似的问题?你是怎么解决的?
答案 0 :(得分:0)
添加更多集群
servers: [
{
host: "<host>", /*primary*/
port: 27017,
},
{
host: "<host>", /*secondary*/
port: 27017,
},
{
host: "<host>", /*secondary*/
port: 27017,
},
],