Rah*_*ane 6 mongodb mongodb-compass
当尝试从 MongoDB 指南针导出集合时,它不会导出所有数据,而只会导出所有文档中存在的字段。例如:如果文档 1 有
{
"Name": "Alex",
"__v": 0
}
Run Code Online (Sandbox Code Playgroud)
如果文档 2 有
{
"Name": "Joe",
"ID" : 07
"__v": 0
}
Run Code Online (Sandbox Code Playgroud)
当尝试导出集合时,它仅导出名称字段。我正在尝试通过 MongoDB Compass 导出所有字段。有没有其他方法可以通过任何代码或脚本导出所有数据
编辑:解决方案是更新到新版本的指南针,并且在从 mongo 导出数据时,如果列表中不存在字段名称,则可以选择添加字段,我们可以添加指南针错过的字段
Sal*_*ati 10
MongoDB Compass 长期以来一直存在导出导入数据的问题,而且似乎他们不愿意改进它!
当您尝试使用指南针导出数据时,它会使用一些示例文档来选择字段,如果您足够不幸,您将错过一些字段。
解决方案:
使用Mongo DB Compass Aggregation选项卡查找所有文档中的所有现有字段:
[{$project: { arrayofkeyvalue: { $objectToArray: '$$ROOT'} }},
{$unwind: '$arrayofkeyvalue'},
{$group: { _id: null, allkeys: { $addToSet: '$arrayofkeyvalue. k' } }}]
将第一步中的字段添加到导出完整集合(选择字段)。
导出吧!