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 :
