Задать вопрос
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;
  • Вопрос задан
  • 208 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
NYMEZIDE
@NYMEZIDE
резюме - ivanfilatov.ru
Подключите ElasticSearch лучше. Будете делать запрос к нему, получать IDs документов mongo - забирать документы по id. Как вариант.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы