Я использую MongoDB и MapReduce для обработки больших объемов данных и идентификации уникальных документов. Когда я использую mongodump или интерфейс REST, результирующие документы выглядят примерно так:
....
},
{
"_id": 35696,
"value": {
"row": {
"A": "AAA",
undefined,
"C": "CCC",
"D": "DDD",
"E": "EEE",
"F": "FFF",
"G": "GGG",
"H": "HHH",
"I": "III",
"J": "JJJ",
"K": "KKK",
"L": "LLL",
"M": "MMM",
undefined,
undefined,
undefined,
undefined,
undefined,
undefined,
undefined,
undefined,
"Y": "YYY",
"Z": "ZZZ"
},
"count": 1
}
},
{
....
Обратите внимание на наличие полей undefined
. Я ожидал, что поля, которые не существуют во всех документах, будут игнорироваться. Когда я пытаюсь использовать эти данные в разрабатываемом веб-приложении, Chrome выдает исключение. JSONLint также отклоняет формат. Как можно заставить Mongo производить JSON, который сразу же можно использовать в веб-технологиях? Я предпочел бы не обрабатывать данные постобработкой, хотя я буду, если должен.