MongoDB / PyMongo: Как использовать точечную нотацию в функции карты?

Я пытаюсь подсчитать, сколько записей я нашел в каждом почтовом индексе.
В моем MongoDB встроенный почтовый индекс; используя точечную нотацию, он расположен по адресу a.res.z (a для адреса, res для жилого помещения, z для zip). Например, это прекрасно работает:

db.NY.count({'a.res.z' : '14120'})

Но когда я пробую использовать функцию карты (в python, потому что я использую PyMongo):

map = Code("function () {"
           "    emit(this.a.res.z, 1);"
           "}")

Я получаю эту ошибку, когда вызываю mapreduce:

pymongo.errors.OperationFailure: db assertion failure, assertion: 'map invoke failed: JS Error: TypeError: this.a has no properties nofile_b:0', assertionCode: 9014

Точечная нотация работает в верхний уровень - например одна точка - но я не могу заставить его работать на встраиваемых системах. В чем секрет?

6
задан Dan 8 July 2011 в 01:57
поделиться