2015-08-04 14 views
5

Jak ustalić, czy dokument istnieje w kolekcji Meteor?meteor jeśli istnieje dokument return true/false

Edytowane: Nowy kod.

MongoDB ma dokument z produktu: Jabłka inputproduct jest „Jabłka”

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

wszystko wrócę to: „istnieje”, niezależnie od wartości inputproduct. Mam wyjście, czym jest inputproduct i wraca "Jabłka" bez problemu. Nie jestem pewien, co się tutaj dzieje. Próbowałem go na kilka sposobów, używając find lub findOne i nic.

+0

Tak to zrobisz. Czy subskrybujesz również dane? – ilrein

+1

Dziękujemy za edytowanie kodu! Upewnij się, że poprawnie go sformatowałeś (jest to raczej podróż w prawo). –

Odpowiedz

3

Prawie już. Jednak collection.findOne zwróci pierwszy obiekt, który został dopasowany lub nieokreślony (co jest fałem), jeśli nie znaleziono żadnego dopasowania. Wypróbuj to:

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

Edytowane za pomocą rzeczywistego kodu. Wciąż nie działa. – Lusty

+1

nadal powinieneś używać findOne. Jeśli zamierzasz to zmienić, to powinieneś sprawdzić: if (exist.length> 0) {alerts ("istnieje"); else {...} – GPicazo

+0

@GPicazo dzięki, drugi przykład zadziałał. Super frustrujące. Przysięgam, że wcześniej to wypróbowałem i nie zadziałało, ale teraz tak jest. Dziwne. – Lusty