Home

Node.js连接远程mongodb并利用mongorestore远程恢复数据库

然后Search了好多教程大多都是本地连接,最终还是找到了,连接好以后需要用mongorestore恢复数据,又遇到了一个坑,运行mongorestore命令需要安装mongo-tools工具才可以,然后又安装了mongo-tools,最终完美连接并导入。

Node.js连接远程mongodb代码

const mongoose = require("mongoose");
const db = mongoose.connect(
  "mongodb+srv://数据库用户名:数据库密码@IP地址:端口/数据库名",
  {
    useNewUrlParser: true,
    useUnifiedTopology: true,
    useFindAndModify: false,
  },
  function (error) {
    if (error) {
      console.log("连接远程mongo数据库失败:" + error.message);
    } else {
      console.log("连接远程mongo数据库成功");
    }
  },
);
module.exports = db;

mongorestore恢复远程mongodb代码

var process = require("child_process");
process.exec(
  'mongorestore --uri="mongodb+srv://数据库用户名:数据库密码@IP地址:端口/数据库名" 需要恢复的数据文件目录',
  function (error, stdout, stderr) {
    if (error) {
      console.log("执行重置数据库失败, 异常信息:" + error.message);
    } else {
      console.log("执行数据库重置成功!");
    }
  },
);

Node.js连接本地mongodb代码

const mongoose = require("mongoose");
const db = mongoose.connect(
  "mongodb://localhost:端口/数据库名",
  {
    useNewUrlParser: true,
    useUnifiedTopology: true,
    useFindAndModify: false,
  },
  function (error) {
    if (error) {
      console.log("连接本地mongo数据库失败:" + error.message);
    } else {
      console.log("连接本地mongo数据库成功");
    }
  },
);
module.exports = db;

mongorestore恢复本地mongodb代码

var process = require("child_process");
process.exec(
  "mongorestore -h 127.0.0.1:27017 -d  数据库名 需要恢复的数据文件目录 --drop",
  function (error, stdout, stderr) {
    if (error) {
      console.log("执行重置数据库失败, 异常信息:" + error.message);
    } else {
      console.log("执行数据库重置成功!");
    }
  },
);