Ban*_*San 7 mongodb mongorestore mongodump
我有一个.bson来自MongoDB转储的文件.转储还会生成一个.metadata.json似乎包含索引定义的文件.
{
"options": {},
"indexes": [
{
"v": 1,
"key": {
"_id": 1
},
"name": "_id_",
"ns": "test.oneMillionDocuments"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我假设从.bson文件中恢复不包括索引.
.metadata.json文件?我需要单独恢复吗?我的恢复完成了以下几行:
2016-02-06T19:18:56.397+0000 [#######################.] test2.oneMillionRecordsRestore 9.7 GB/9.7 GB (99.5%)
2016-02-06T19:18:58.475+0000 restoring indexes for collection test2.oneMillionRecordsRestore from metadata
2016-02-06T19:18:58.485+0000 finished restoring test2.oneMillionRecordsRestore (1000000 documents)
2016-02-06T19:18:58.488+0000 done
Run Code Online (Sandbox Code Playgroud)
有一条线说它正在恢复索引,但专门引用该.metadata.json文件.
您不必对metadata.json文件执行任何特定操作:只需运行mongorestore,它将与提供的.bson文件一起读取,它位于同一目录中.您将在输出中看到一行,您可以从中推断它是否已被读取:
2016-02-06T20:22:08.652+0100 reading metadata for mydb.message from dump/mydb/message.metadata.json
Run Code Online (Sandbox Code Playgroud)
但是,我认为有些情况会被忽略(例如,冲突的索引定义).但导入不会失败,但您会在日志中看到一行告诉您元数据(或部分元素)被忽略.