Отговор на въпрос 1:Да, прав си.
Дали поради асинхронната природа на Node.js.
И за да предотвратите това, Node.js предоставя някакъв механизъм, за който можете да го използвате, в противен случай можете да го направите сами ръчно, като зададете един флаг.
Отговор на въпрос 2:
можете да използвате $in
вместо findOne
, ще бъде лесно и бързо.
напр. .find({ "fieldx": { "$in": arr } })
arr
:- В това трябва да предоставите цял масив.