主集群更改时的 DENO mongo atlas 连接问题

时间:2021-06-30 10:09:19

标签: mongodb mongodb-atlas deno

如 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 集群可能会失败,而辅助集群可能会成为主要集群。我们是否在我们的代码上使用了一个特定的集群,该集群可能会关闭,我们的程序也会关闭。任何人遇到类似的问题?你是怎么解决的?

1 个答案:

答案 0 :(得分:0)

添加更多集群

 servers: [
  { 
    host: "<host>", /*primary*/
    port: 27017,
  },
  { 
    host: "<host>", /*secondary*/
    port: 27017,
  },
  { 
    host: "<host>", /*secondary*/
    port: 27017,
  },
],