Prima di tutto, la differenza fondamentale tra findOne()
e find()
:
-
findOne()
- se la query corrisponde, viene restituito il primo documento, altrimenti null. -
find()
- indipendentemente dal numero di documenti abbinati, viene restituito un cursore, mai nullo.
Quindi, quando viene inserita una condizione if, findOne()
può convertire in falso quando non corrisponde a nessun documento. Come find()
restituisce un oggetto cursore e non restituisce mai null, verrà convertito in vero se inserito in una condizione if.
find
e findOne()
restituire quanto segue per il ritiro vuoto :