我想将所有数据从我的服务器导出到我的本地(而且我没有备份,所以这将作为备份。所以我使用下面的代码以 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,以便本地数据与服务器同步。
- 如何将所有数据批量存储到后端?
- 我在架构之间几乎没有引用,因此会创建新的“_id” 从而影响我的引用文献
- 如果您认为这不是导出数据的正确方式,如何才能 可以使用 Node Express 来完成吗?
最佳答案
尝试使用mongodump
或mongoexport
。 https://docs.mongodb.org/manual/core/backups/
mongoexport 提供了从集合中导出数据的有效方法(如果需要,可以通过查询)
mongodump 进行完整的数据库转储(备份),因此您可以使用相同的 id、引用、索引轻松地在任何地方恢复它。你所有的东西
您可以使用node.js child_process.exec
来运行mongodump/mongoexport。您可以使用 Linux crontab
来安排备份。有多种方法可以使用正确的工具来组织它
关于json - 使用 Node.js Express 从 mongodb 导出和导入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33669190/