Как использовать 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