Ответ 1
Это зависит от того, какой уровень абстракции вы хотите получить от своих данных. Если вы хотите что-то похожее на ORM, то Mongoose является очевидным выбором и является популярным.
Однако драйвер node -mongodb-native дает вам чистое дублирование почти всего API MongoDB и поскольку BSON переведен на JSON, а JavaScript - гибкий динамический язык, на ORM действительно нет необходимости. У последнего действительно есть преимущества, такие как определение схемы, которая помогает с проверкой и другими задачами, но также ограничивает вашу гибкость.
Mongoskin построен поверх node -mongodb-native, но дает вам возможность иметь дополнительный метод JavaScript привязки и облегчение связей и курсоров. Это довольно легкий вес, поэтому вы можете придерживаться основ или делать больше. Эта библиотека - это мое личное предпочтение, и наша команда построила вокруг себя нашу собственную систему инструментов и валидации.