I will DEFINITELY go back to the async and promise stuff: since I have not used it at all in my code experience I feel very awkward with it.
Regarding your last observation, and following one of our precedent conversation about error, I can see a logic for my code:
-an error is something going wrong in the searching process
- otherwise we have some returned data that can be an user (if that user exist) or a null object if the user does not exist yet.
Actually I came to the “Null” option because I console.log the result of an new username and I didn’t get an error but a Null.
I have just tested it again and just with a if(err), else and and new user does not throw an error
btw, incredibly I finished the work… but I am struggling with the logs tests: I am scatching my ehad because the output is identical to the example page and I am not getting information from the developer tool , so far 
I believe it is because of date formatting in the output json object when I perform the from-to query. I find different options but either
1-I get the right format but all the optional query elements (from, to) appear even if they are not requested for example {"_id":“60b7c2fb978d3d0527b817f8”,“username”:“ranran”,“from”:“Invalid Date”,“to”:“2013”,“count”:4,“log”:[{“description”:“mini”,“duration”:144,“date”:“Tue Feb 21 2012”},{“description”:“ermi”,“duration”:44,“date”:“Tue Feb 21 2012”},{“description”:“arya”,“duration”:23,“date”:“Tue Feb 21 2012”},{“description”:“athos”,“duration”:12,“date”:“Tue Feb 21 2012”}]}
2-or i automatically get rid of the unrequested query elements but with uncorrect format, for example
{"_id":“60b7c2fb978d3d0527b817f8”,“username”:“ranran”,“to”:“2021-06-01”,“count”:4,“log”:[{“description”:“mini”,“duration”:144,“date”:“Tue Feb 21 2012”},{“description”:“ermi”,“duration”:44,“date”:“Tue Feb 21 2012”},{“description”:“arya”,“duration”:23,“date”:“Tue Feb 21 2012”},{“description”:“athos”,“duration”:12,“date”:“Tue Feb 21 2012”}]}
is there a way to accomplish that?