Adding to this:
If you don’t use mongoose and instead write your own database queries,
you will have to write “free text”. As a beginner, you will make a lot of errors.
If you use the interface of mongoose, it is fairly straight forward to get what you want.
So an ODM/ORM is a helper to do this, with all its pros and cons.