Как mongoexport CSV один конкретный ключ из всех экземпляров массива как одно поле?

У меня есть коллекция MongoDB следующим образом:

{
 "keya" : "vala",
 "keyb" : "valb",
 "keyc" : [
   {"keyd1" : "valdoc1_a1", "keyd2" : "valdoc1_a2", "keyd3" : "valdoc1_a3"},
   {"keyd1" : "valdoc1_b1", "keyd2" : "valdoc1_b2", "keyd3" : "valdoc3_b3"}
 ]
}

Каждый документ в коллекции имеет форму выше. Массив keyc имеет разное количество экземпляров (значений) в каждом документе. Я хочу экспортировать только значение keyd1 для всех экземпляров массива в файл CSV. Пример вывода: для 4 записей в коллекции это вывод csv, который я хочу

Я пробовал два разных звонка в mongoexport; первый:

mongoexport \
--host localhost \
--db dbs \
--collection col \
--type=csv \
--fields keyc \
--out r.csv

Это экспортирует все пары ключ-значение для всех экземпляров массива.

Вторая попытка:

mongoexport \
--host localhost \
--db dbs \
--collection col \
--type=csv \
--fields keyc.0.keyd1 \
--out r.csv

Это экспортирует только 1-й ключ (т.е. valdoc1_a1) в 1-м экземпляре массива.

Что можно сделать, чтобы экспортировать только одну конкретную пару ключ-значение (keyd1) для каждого экземпляра массива в каждом документе (т.е. и valdoc1_a1, и valdoc1_b1)?

0 ответов

Другие вопросы по тегам