2015-08-04 3 views
5

Как определить, существует ли документ в коллекции в Meteor?метеор если документ существует возврат true/false

Отредактировано: Новый код.

MongoDB есть документ с ProductName: Яблоки inputproduct является «Яблоки»

var exists = Products.find({ProductName: inputproduct}); 
        if(exists) 
        { 
         alert("it exists"); 
        }else{ 
         alert('doesnt exist'); 
        } 

все, что я вернусь есть: «он существует», независимо от значения inputproduct. Я выводил, что такое inputproduct, и он возвращает «Яблоки» без проблем. Не уверен, что здесь происходит. Пробовал несколько способов, используя find или findOne и ничего.

+0

Вот как вы это сделаете. Подписываетесь ли вы на данные? – ilrein

+1

Благодарим за редактирование кода! Пожалуйста, не забудьте правильно его отформатировать (это происходит в поездке справа). –

ответ

3

У вас его почти не было. Тем не менее, meteor's collection.findOne вернет первый объект, который соответствует или не определен (что является ложным), если совпадение не найдено. Попробуйте следующее:

var exists = Products.findOne(selector, projection); 
if(exists) 
{ 
    do something... 
} 
+0

Отредактировано с фактического кода. Все еще не работает. – Lusty

+1

вы все равно должны использовать findOne. Если вы собираетесь его изменить, то вы должны проверить: if (exists.length> 0) {alert ('он существует');} else {...} – GPicazo

+0

@GPicazo спасибо, 2-й пример работал. Супер фрустрируя. Клянусь, я попробовал это раньше, и это не сработало, но теперь это так. Странный. – Lusty

Смежные вопросы