Как использовать mongoexport для экспорта только определенных полей в поддоку

Есть ли способ экспортировать только определенные поля в под-документ при использовании mongoexport? mongo docs говорит, что просто использует -f field1, field2 и т.д., но работает только с полями верхнего уровня. У меня есть документ внутри основного документа, который также имеет поля. есть ли способ получить только те?

Пример:

{
    "topField1": "topValue1",
    "topField2": "topValue2",
    "subDoc1: {
                  "subField1": "subValue1",
                  "subField2": "subValue2"
              }
}

Есть ли способ указать, что я ТОЛЬКО получаю поле subField2?

Я знаю, что в обычном mongo-запросе я мог бы использовать "subDoc1.subField2", который просто возвращает { "$ oid": 122432432, { "subDoc1": { "subField2": "subValue2" }}, но это не похоже, работают с mongoexport.

Также я хочу экспортировать как json.

Ответ 1

Какую ошибку вы используете, используя dotnotation? Я запускаю mongoDB 1.8.2 и для меня следующие работы:

mongoexport -d dbName -c collectionName -f subDoc1.subField2 --csv -o /path/to/file.csv

CSV выглядит следующим образом

subDoc1.subField2 #header with field names
"subValue2" #actual entry

Ответ 2

Если мы не уверены в значении поддокумента .i.e в этом случае: subField1 или subField2, но нам нужно только извлечь первое поле подсекции. Может ли mongoexport обрабатывать это?

Ответ 3

mongoexport --db db_name --collection имя_события - поля 'Нет, имя' --out collection_name.json