Я использую mongoexport для экспорта некоторых коллекций в файлы CSV, однако, когда я пытаюсь настроить таргетинг на поля, которые являются членами массива, я не могу правильно экспортировать его.
команда, которую я использую:
mongoexport -d db -c collection -fieldFile fields.txt --csv > out.csv
и содержимое fields.txt похоже на
id
name
address[0].line1
address[0].line2
address[0].city
address[0].country
address[0].postcode
где данные BSON будут:
{
"id": 1,
"name": "example",
"address": [
{
"line1": "flat 123",
"line2": "123 Fake St.",
"city": "London",
"country": "England",
"postcode": "N1 1AA"
}
]
}
каков правильный синтаксис для экспорта содержимого массива?
Вы почти правы, попробуйте следующее:
id
name
address.0.line1
address.0.line2
address.0.city
address.0.country
address.0.postcode
Я вставил ваш образец документа в коллекцию bar
в базе данных test
а затем выполнили экспорт следующим образом:
./mongoexport --port 31000 -d test -c bar -fieldFile fields.txt --csv > out.csv
Затем проверил результаты, которые мне нравятся:
cat out.csv
id,name,address.0.line1,address.0.line2,address.0.city,address.0.country,address.0.postcode
1.0,"example","flat 123","123 Fake St.","London","England","N1 1AA"