У меня есть коллекция в MongoDB, как следующее:Integer в качестве ключа для карты Снизить MongoDB
{_id: {"thread": "abc"}, "value": 1}
{_id: {"thread": "cdf"}, "value": 1}
{_id: {"thread": "edf"}, "value": 1}
Я попытался карту уменьшить пытается ввести на значение, в надежде на выход следующим образом:
{id_: {"value": 1}, value: 3}
КАРТА:
function() {
var key = {value : this.value};
emit(key, 1);
};
УМЕНЬШИТЬ:
function(key, values) {
var sum = 0;
values.forEach(function(value) {
sum += value;});
return sum;
};
EDIT Оранжевый вопрос: Карта Уменьшена работа недействительна. Это была проблема подключения, а не Map Reduce. Спасибо всем за дополнительную информацию.
, к сожалению, это не сработало и дали некоторый вывод следующим образом:
{u'_id': {u'value': None}, u'value': 1160856.0}
Не можно ли ключ на целочисленное значение ?? Я прочитал карту, уменьшив документацию на Mongodb, но не смог найти информацию, связанную с типом данных ключа.
Какова ваша функция карты/уменьшения? – Thilo
Возможно, недостаток целочисленной поддержки в интерактивной оболочке mongo кусает вас? См. Http://www.mongodb.org/display/DOCS/Overview+-+The+MongoDB+Interactive+Shell#Overview-TheMongoDBInteractiveShell-SomeNotesonDatatypesintheShell – Ondergetekende
@Thilo Я отредактировал этот вопрос и добавил его. – codious