I have a .bson
file from a MongoDB dump. The dump also produces a .metadata.json
file that seems to contain index definitions.
{
"options": {},
"indexes": [
{
"v": 1,
"key": {
"_id": 1
},
"name": "_id_",
"ns": "test.oneMillionDocuments"
}
]
}
I assume from this that restoring from the .bson
file doesn't include the indexes.
.metadata.json
file? Do I need to restore it separately?My restore finished with the following lines:
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
There's a line saying it's restoring the indexes, but specifically referencing the .metadata.json
file.
You don't have to do anything specific with the metadata.json
file: just run mongorestore
and it will be read together with the .bson
files provided that it is in the same directory. You will see a line in the output from which you can infer whether it has been read or not:
2016-02-06T20:22:08.652+0100 reading metadata for mydb.message from dump/mydb/message.metadata.json
However, I think that there are cases where it is ignored (e.g. conflicting index definitions). The import won't fail though, but you will see a line in the log telling you that the metadata (or parts of it) were ignored.