我想将所有数据从我的服务器导出到我的本地(我也没有备份,所以这将作为备份。所以我使用下面的代码以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,以便我的本地数据与服务器同步。
答案 0 :(得分:2)
尝试使用mongodump
或mongoexport
。 https://docs.mongodb.org/manual/core/backups/
mongoexport提供了从集合中导出数据的有效方法(如果需要,可以通过查询)
mongodump进行完整的数据库转储(备份),因此您可以使用相同的ID,引用和索引轻松地将其还原到任何位置。你所有的东西
您可以使用node.js child_process.exec
来运行mongodump / mongoexport。您可以使用linux crontab
来安排备份。使用正确的工具组织这么多的方法