CouchDB 复制以便将我的数据库克隆到新实例中

问题描述 投票:0回答:0

我正在努力将我的数据库复制到 CouchDB 的另一个实例中。为了测试它,我创建了两个 Docker 映像,一个包含一些示例数据,另一个用作空实例。包含测试数据的数据库正在

localhost:5984
上运行,而我想要将数据复制到的目标实例在
localhost:5985
上可用。

这是我的代码我的代码:

const replicateTest = async () => {
  try {
    const { data } = await axios.post(
      "http://localhost:5984/_replicate",
      {
        source: `http://admin:admin@localhost:5984/test_1`,
        target: `http://admin:admin@localhost:5985/test_1`,
        create_target: true,
      },
      {
        headers: {
          "Content-Type": "application/json",
          Accept: "application/json",
        },
      }
    );

    console.log(data);
  } catch (err) {
    console.log(err);
  }
};

这是我收到的响应错误:

{ error: 'invalid_json', reason: '{1,invalid_json}' }

以下是我尝试进行的测试列表:

  1. 为了确保我的服务器正常运行,我使用以下代码查询它们,结果成功。确认不存在连接问题:
const { data } = await axios.get(
    "http://admin:admin@localhost:5984/_all_dbs"
);
  1. 我已经多次更改帖子请求并得到相同的结果。以下是我尝试过的一些变化:

    • 我尝试将完整路径传递给post请求,例如
      http://admin:admin@localhost:5984/_replicate
    • 传递一个
      curl
      请求而不是我的
      axios
      请求。
    • 我测试使用IP
      127.0.0.1
      而不是
      localhost
    • 我参考了CouchDB 的文档,但没有取得太大成功。
node.js couchdb
© www.soinside.com 2019 - 2024. All rights reserved.