I am developing my first application with node and mongoose and trying to structure the application with a repository pattern.
I have my application module, a router module using journey and a mongoose layer. I created a separate module for each of my mongo entities and exporting methods for CRUD operations acting like a repository.
Is this a nice way for structuring the application or should I follow another approach?
That's a nice way to go, although I encourage you to put more layers:
Create controllers for common resources, eg: UserController.
You should also create an UserService instead of calling the repository directly from your controller. This will be really helpful if you need to do extra tasks besides using the repository only.
For example, you might need to add the user to an indexing service or save another data that's not related to the user repository.