使用node.js express从mongodb导出和导入数据

时间:2015-11-12 10:23:17

标签: json node.js mongodb

我想将所有数据从我的服务器导出到我的本地(我也没有备份,所以这将作为备份。所以我使用下面的代码以json格式获取集合并保存到本地

我正在使用mongodb和node express。

dbName.find().exec(function(err, output){

var jsonOutput=JSON.stringify(output)

fs.writeFile('downloads/output.json', output, function (err) {
        if (err) {
            console.log(err)
            res.send('error')
        }
        else{
            var filename = 'res.json'
            var mimetype = 'application/json'

            res.setHeader('Content-disposition', 'attachment; filename=' + filename)
            res.setHeader('Content-type', mimetype)
            res.end(jsonOutput)
        }
    })
})

这给了我想要的东西。现在我想在本地机器上处理json,以便我的本地数据与服务器同步。

  1. 如何将所有数据批量存储到后端?
  2. 我在架构之间几乎没有引用,因此会创建新的'_id' 因此影响我的参考文献
  3. 如果您认为这不是导出数据的正确方法,那怎么可能     它可以使用node express来完成吗?

1 个答案:

答案 0 :(得分:2)

尝试使用mongodumpmongoexporthttps://docs.mongodb.org/manual/core/backups/

mongoexport提供了从集合中导出数据的有效方法(如果需要,可以通过查询)

mongodump进行完整的数据库转储(备份),因此您可以使用相同的ID,引用和索引轻松地将其还原到任何位置。你所有的东西

您可以使用node.js child_process.exec来运行mongodump / mongoexport。您可以使用linux crontab来安排备份。使用正确的工具组织这么多的方法