当前位置: 首页 > 知识库问答 >
问题:

通过API创建MongoDB Atlas数据库副本

乔望
2023-03-14

我们目前正在M2集群上复制一个名为DatabaseA的数据库。我们正试图通过使用MongoDB Atlas每隔24小时将数据库克隆到一个名为DatabaseB的新数据库中来创建集群的备份。

我们已经研究了以下链接:

  • https://docs.atlas.mongodb.com/api/

但我们不知道如何实现这一点。

我们应该如何处理这个问题?

共有1个答案

尉迟浩思
2023-03-14

有两种方法。

(在我看来)最好的方法是使用Mongo Atlas Datalake。他们在这里有一个指南,展示了如何从mongo连续复制到S3,但同样的方法也可以用于从一个MongoDB数据库复制到另一个。

总结和补充与粗略方法相关的文件:

  1. 创建DataLake并将DataLake链接到Atlas中的MongoDB数据库
  2. 创建一个计划触发器,每24小时运行一次。请参阅下面的伪代码段
exports = async function() {
  const movies = context.services
    .get("DataLake0")
    .db("Database0")
    .collection("Collection0");
    
    const pipeline = [
      {
            $match: {}
      }, {
    "$out": {
      "atlas": {
        "projectId": "111111111111111111111111",
        "clusterName": "<YourOtherCluster>",
        "db": "<YourOtherDB>",
        "coll": "<CollectionName>"
      }
    }
}
   ];
  return movies.aggregate(pipeline);
};
 类似资料:
  • 在我的Spring项目中,我使用HiberNate将我的实体类导出到以前创建的数据库。但是这需要最终用户知道如何在数据库管理器系统中创建数据库(目前我正在使用Postgreql)。 是否有任何方法,只要给定安装postgreql的机器(以及第一次运行应用程序时提供的用户名和密码),HiberNate在服务器中创建一个新数据库(如果它不存在)?

  • 问题内容: 我正在尝试使用创建一个6 x 12矩阵 虽然这样做有效,但问题是内部数组实际上都引用同一对象。 我想(和预期)的值是。 如何强制填充给定参数的按值复制(例如,在我的情况下该参数)而不是按引用复制? 问题答案: 您可以使用Array.from()代替: 感谢在评论中提出的关于进一步改善此问题的建议。 原始声明(上面进行了优化):

  • 问题内容: 基本上在执行查询后,我想获取结果行并产生一个,但是我不知道如何使用API​​进行此操作,因为该函数需要特定数量的参数来匹配所请求的列数(可能是类型)以及正确获取数据。 再次,我想泛化此调用并进行任何查询,然后将其转换为,其中映射包含映射到该行的值的列名。 这可能效率很低,我计划稍后更改结构,以使其成为单个数据点的结构。 我将如何仅使用数据库/ sql包,或者在必要时使用数据库/ sql

  • 原文链接:Serverless 应用开发指南:Lambda + API Gateway + DynamoDB 制作 REST API 本文将介绍如何用 AWS Lambda + API Gateway + DynamoDB 创建一个 RESTful API 的示例。文中的示例是一个 TODO API 的示例,支持 GET、POST、PUT、DELETE 请求,即常规的 CRUD。 安装示例项目的命

  • 本文向大家介绍svn 通过工作副本创建分支,包括了svn 通过工作副本创建分支的使用技巧和注意事项,需要的朋友参考一下 示例 当使用私有本地工作区(工作副本)与远程中央存储库进行交互时,可以使用存储库相对URL代替直接URL到URL副本来创建新分支:            

  • 我在anylogic中根据我创建的数据库表生成代理。在这个数据库中,我有我的代理的一些特征。这个代理应该是我的“调度代理”,因为我的重点是重新调度,所以我的生产订单必须保存为队列中的代理。我的问题是,在生成代理时,首先我不能告诉系统一次生成所有代理(比如“导入”数据库的行,并将每一行转换为具有特征的代理)。我试着在每个生产订单之间增加1s的差异,但是,当到达最后一个日期时,我的模拟给出了一个错误并