2015-08-04 12 views
5

Wie kann ich feststellen, ob ein Dokument in einer Sammlung in Meteor existiert?Meteor wenn Dokument existiert zurück wahr/falsch

Bearbeitet: Neuer Code.

die mongodb hat ein Dokument mit dem Product: Äpfel die inputproduct ist „Äpfel“

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

alles, was ich zurück ist erhalten: „es existiert“, unabhängig vom Wert von inputproduct. Ich habe ausgegeben was Inputprodukt ist und es kommt "Äpfel" kein Problem zurück. Ich bin mir nicht sicher, was hier vor sich geht. Versucht es mehrere Möglichkeiten mit Find oder FindOne und nichts.

+0

So würden Sie es tun. Abonnieren Sie auch die Daten? – ilrein

+1

Danke für die Bearbeitung Ihres Codes in! Bitte stellen Sie sicher, es richtig zu formatieren (es ist irgendwie auf eine Reise nach rechts). –

Antwort

3

Sie hatten es fast. Meteor collection.findOne gibt jedoch das erste Objekt zurück, das übereinstimmt oder nicht definiert ist (was falsch ist), wenn keine Übereinstimmung gefunden wurde. Versuchen Sie dies:

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

Bearbeitet mit tatsächlichem Code. Funktioniert immer noch nicht. – Lusty

+1

sollten Sie immer noch findOne verwenden. Wenn Sie es ändern, um zu finden, dann sollten Sie überprüfen: if (exists.length> 0) {Alerts ('es existiert');} else {...} – GPicazo

+0

@GPicazo danke, das zweite Beispiel funktionierte. Super frustbereit. Ich schwöre, ich habe es früher versucht und es hat nicht funktioniert, aber jetzt tut es. Seltsam. – Lusty

Verwandte Themen