supra7sky
@supra7sky

Как через .NET вызывать stored JavaScript?

Мне нужно выбирать элементы из коллекции по нескольким фильтрам (От наиболее точных, до наименее).
Например:
1 фильтр ищет элементы по 5 полям. Все, что нашел, он возвращает с флагом 0.
Если по 1 фильтру мы не нашли несколько записей, то эти записи пытаемся найти по менее точному матчу (по 3 полям к примеру). Возвращаем их с флагом -1. И т.д.

Я хотел бы это реализовать с помощью хранимой функции на стороне Монги и дергать ее из .NETa один раз.
Я могу вызвать хранимку только из шелла робомонги. Из .NETа это сделать не получается.
var cmd = new JsonCommand<BsonDocument>("{ eval: \"GetData()\" }");
var result = collection.Database.RunCommand(cmd);

В result возвращается только какая то мета-информация о БД и коллекции. Приводил ее к JSON. Данных нету.
Код хранимки
var result = db.getCollection('mydata').find({
    'prop1': 'FOO',
    'prop2': '123',
    });
    return result;
  • Вопрос задан
  • 207 просмотров
Пригласить эксперта
Ответы на вопрос 1
NYMEZIDE
@NYMEZIDE
резюме - ivanfilatov.ru
Подключите ElasticSearch лучше. Будете делать запрос к нему, получать IDs документов mongo - забирать документы по id. Как вариант.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы