2015-08-04 11 views
5

Come posso determinare se un documento esiste all'interno di una raccolta in Meteor?meteor se il documento esiste restituisce vero/falso

Modificato: nuovo codice.

il MongoDB ha un documento con il prodotto: Mele l'inputproduct è "Mele"

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

tutto quello che ottiene indietro è: "esiste" indipendentemente dal valore di inputproduct. Ho prodotto quale inputproduct è e torna "Apples" senza problemi. Non sono sicuro di cosa sta succedendo qui. Ho provato diversi modi usando find o findOne e niente.

+0

Ecco come lo faresti. Ti stai abbonando ai dati? – ilrein

+1

Grazie per aver modificato il tuo codice! Assicurati di formattarlo correttamente (è un po 'come andare in un viaggio a destra). –

risposta

3

L'hai quasi avuto. Tuttavia, la raccolta di mete.findOne restituirà il primo oggetto che corrisponde o non definito (che è falsa) se non è stata trovata alcuna corrispondenza. Prova questo:

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

Modificato con codice effettivo. Continua a non funzionare. – Lusty

+1

dovresti ancora usare findOne. Se hai intenzione di cambiarlo per trovare, allora dovresti controllare: if (exists.length> 0) {alerts ('esiste');} else {...} – GPicazo

+0

@GPicazo grazie, il 2 ° esempio ha funzionato. Super frusterante. Giuro che l'ho provato prima e non ha funzionato, ma ora lo fa. Strano. – Lusty

Problemi correlati