Пользовательские функции Mongo и уменьшение карты - PullRequest
2 голосов
/ 27 июня 2011

Есть ли способ в монго для создания пользовательских функций Javascript. У меня есть несколько функций Map / Reduce на стороне клиента, которые я хотел бы использовать в других функциях MR.

Например, несколько функций MR вычисляют все виды средних значений. Я хочу иметь возможность использовать их так:

function reduce(k,v)
{
    if (val > myDatabaseAverage())
    // ..do something
}

Ответы [ 2 ]

11 голосов
/ 27 июня 2011

Использовать db.system.js.save ({_id: "myDatabaseAverage", value: function () {// ..dothing}});

Это будет хранить функцию JS на сервереи с этого момента можно получить доступ m / r.

Дополнительные примеры см .: https://github.com/mongodb/mongo/blob/master/jstests/storefunc.js

0 голосов
/ 23 ноября 2016

Как упомянул @Remon van Vliet,

Вам придется использовать,

db.system.js.save( { _id : "myDatabaseAverage" , 
                     value : function(){ // ..do something } 
                 } );

чтобы сначала сохранить вашу функцию,

и тогда вам нужно позвонить,

db.loadServerScripts();

перед выполнением вашей функции.

...