driver458
@driver458

Как выбрать документы из MongoDB, когда одно из полей передаётся пустым?

<select class="form-control" id="sel1" ng-model="$ctrl.search.vendor" ng-change="$ctrl.find()">
    <option value="">Все</option>
    <option ng-repeat="vendor in $ctrl.vendors">{{vendor}}</option>
</select>


return Doc.find(search);

Из этого кода когда я выбираю показать "все", то он ищет документы где поле строго пустое. Как исправить?
  • Вопрос задан
  • 212 просмотров
Решения вопроса 1
driver458
@driver458 Автор вопроса
Из Html мне не удалось передать объект или регулярное выражение в качестве значения. Как бы я не пробовал на выходе value воспринимается как строка. Придумал "такое себе" решение, главное чтобы работало) Уже внутри скрипта прохожу по объекту и рекурсивно удаляю пустые поля. Уверен что есть лучшее решение данной проблемы.

self.delEmptyFields = function(obj) {
    for (var key in obj) {
        var value = obj[key];
        if (value === "" || value === null) {
            delete obj[key];
        } else if (Object.prototype.toString.call(value) === '[object Object]') {
            self.delEmptyFields(value);
        } else if ($.isArray(value)) {
            for (var k in value) {
                self.delEmptyFields(value[k]);
            }
        }
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

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