Я написал функцию map/reduce/finalize, которая отлично работает во время моих тестов с опцией out: {inline: true}. Но если я попытаюсь сохранить результат в коллекции, используя: {replace: 'test'} (или merge, ..), это не покажет мне тот же результат.MongoDB Map/Уменьшить только работу в встроенном режиме
У кого-нибудь есть ключ, что я делаю неправильно?
Thx
Инлайн:
db.runCommand({mapreduce: 'source', map: map_deliverstat, reduce: reduce_deliverstat, finalize: finalize_deliverstat, out: {inline:1}})
{
"_id": {
"date": ISODate("2012-03-13T00:00:00Z"),
"customerid": 469
},
"value": {
"date": ISODate("2012-03-13T00:00:00Z"),
"customerid": NumberLong(469),
"sum": 294,
"nomarker": 42,
"marker": 252,
"product1": 34,
"product2": 22,
"product3": 20,
"product4": 19,
"product5": 16
}
}
Заменить:
db.runCommand({mapreduce: 'source', map: map_deliverstat, reduce: reduce_deliverstat, out: {replace: 'test'}, finalize: finalize_deliverstat})
{
"_id": {
"date": ISODate("2012-03-13T00:00:00Z"),
"customerid": 469
},
"value": {
"date": ISODate("2012-03-13T00:00:00Z"),
"customerid": NumberLong(469),
"sum": 2,
"nomarker": 0,
"marker": 2,
"product1": 0,
"product2": 0,
"product3": 0,
"product4": 0,
"product5": 0
}
}
MapReduce до сих пор производит один и тот же, другой вывод. Так что никакого эффекта нет. Я пытаюсь использовать другую версию mongo, потому что на моей производственной среде она работает: -S – thesonix
mine - версия 2.0.1 – daydreamer