使用copydb时,必须为副本集ConnectionStrings指定集名称

时间:2017-11-08 14:19:31

标签: mongodb mongoose

我正在编写一个nodejs脚本,它允许我将整个数据库复制到指定的目标主机。为此,我使用命令copydb

但是我收到上面写的错误。

我不知道该怎么办,因为我没有以任何方式使用复制品,也不完全喜欢如何使用复制品。我想要做的就是将数据库从源主机复制到目标。

以下是代码:

function copydb(_sourceUrl, _destinationUrl, _db, _sourceAdminUsername, _sourceAdminPassword) {
return new Promise((resolve, reject) => {
    mongoClient.connect(_destinationUrl + "/" + _db)
        .then(destinationDB => {
            destinationDB.admin().command({
                copydb: 1,
                fromhost: _sourceUrl,
                fromdb: _db,
                username: _sourceAdminUsername,
                todb: _db,
                nonce: "some-nonce",
                key: {
                    username: _sourceAdminUsername,
                    password: _sourceAdminPassword
                }
            }, function (err, res) {
                if (err) {
                    reject(err)
                } else {
                    resolve(res)
                }
                destinationDB.close();
            })
        }).catch(err => reject(err))
})

}

我传递的价值是这样的:

_sourceUrl: "mongodb://myhost" _desinationUrl: "mongodb://adminuser:adminpassword@localhost:27017" _db: "testdb", _sourceAdminUsername: adminUsername _sourceAdminPassword: adminPassword

PS:我不确定将哪些用作nonce字段,key

0 个答案:

没有答案