КОНТЕКСТmeteor.js и MongoDB - запрос с несколькими полями
Я пытаюсь создать функцию поиска, позволяющую пользователям заполнить несколько полей, представить и увидеть список подходящих элементов из одной коллекции. Я делаю это, используя форму на лицевой части, которая обновляет переменные сеанса во внутреннем интерфейсе, которые затем передаются как запрос к коллекции mongodb.
как он должен работать
Если пользователь отправляет размер места, то места такого размера показаны. Если вводится только местоположение, тогда отображаются места в этом месте. Если представлены как размер, так и местоположение, отображаются места, соответствующие обоим критериям.
КАК ЭТО РАБОТАЕТ РЕАЛЬНО
Если ничего не заполнено, при нажатии поиска дает все элементы в коллекции. Отправка как местоположения, так и размера дает места, которые соответствуют обоим критериям. Однако заполнение только одним полем и оставление другого пустого ничего не дает результатов. Мне интересно, почему это может быть - почти так, как если бы запрос искал поле, которое буквально содержит «...», но почему бы мне не увидеть это поведение, оставив оба поля пустым? Помогите оценить!
КОД SNIPPET
//Search Form Helper
Template.managevenues.helpers({
venue: function() {
var venueNameVar = Session.get('venueNameVar');
var venueLocationVar = Session.get('venueLocationVar');
if(venueNameVar || venueLocationVar){
console.log(venueNameVar);
console.log(venueLocationVar);
return Venues.find({
venueName: venueNameVar,
'venueAddress.neighbourhood': venueLocationVar
});
} else {
return Venues.find({});
}
});
Пятно на - спасибо столько Затенение. – Sekoul
С удовольствием! – Shaded