Pourquoi avons-nous besoin, Quels avantages utiliser la mangouste [fermé]

Je viens de démarrer avec mongodb et j'ai récemment traversé Mongoose, un framework ODM.

Sur la documentation, Je n'ai pas trouvé pourquoi nous devons utiliser Mongoose. Une raison que je peux donner est que nous pouvons définir le schéma d'application à partir de Mongoose.

Je cherche d'autres raisons possibles, et des besoins qui m'attireront à utiliser Mongoose.

Veuillez énumérer tous les avantages possibles et les raisons/besoins pour lesquels utiliser Mongoose.

37
demandé sur IsuruAb 2013-08-30 15:21:59

2 réponses

L'avantage principal est l'abstraction par rapport au mongo pur.

De nombreux développeurs qui proviennent de types de bases de données SQL se sentent très mal à l'aise de travailler avec des collections dynamiques qui n'ont pas de structure définie. Donc Schemas en premier lieu aide à cela.
En outre, il implémente la validation et d'autres fonctionnalités soignées afin de s'assurer que votre schéma est cohérent lors de l'insertion/mise à jour/recherche de documents à partir de collections.

, Il crée également Modèle abstraction qui il est plus facile de travailler avec, donc il semble que vous travaillez avec seulement des objets plutôt que des données pures.

Il ya beaucoup d'autres goodies comme middleware, les plugins, la population, validation. Veuillez vérifier mangouste docs pour plus d'informations:

Personnellement, je préfère Mongo pur car il est plus cohérent avec les documents officiels mongo 10gen et ne crée pas d'abstractions qui coûtent toujours des limites et des règles que vous devrez suivre.

41
répondu moka 2017-02-12 23:57:13

Si vous travaillez avec Node.js et vous êtes assez nouveau NoSQL je recommande d'utiliser le pilote de nœud natif(mongodb) au début.

Raisons:

  1. La syntaxe entre le pilote de nœud et le shell Mongo est très similaire et vous comprendrez donc plus rapidement comment utiliser MongoDB en général.

  2. Les modèles ne sont utiles que lorsque vous évoluez dans une grande application avec une grande API qui doit être divisée en un système MVC (mongoose être vos modèles).

Avantages/Inconvénients de l'utilisation de la Mangouste:

Avantages:

  • le plus grand Pro est qu'il a la validation des données intégrée (exigences de quelles données vous autoriserez à être ajoutées ou à mettre à jour votre base de données). Il faudra du travail pour construire vous-même.(mais pas si dur)
  • Il va extraire la majeure partie du code mongoDB du reste de l'application.

Contre

  • La plus grosse arnaque commence avec des schémas Dès la sortie de la porte va vraiment vaincre le but de l'utilisation de NoSQL et il sera difficile de faire l'expérience de ce qui est bon d'avoir un système de données structuré lâche pendant les étapes de développement rapide.

  • Toutes vos opérations de données ne s'intégreront pas bien dans une caractérisation qui peut être encapsulée avec un modèle. L'Encapsulation est particulièrement difficile au départ-sauf si vous avez une idée très claire du flux de données avant de commencer (ce qui est idéal, mais pas facile lorsque vous construire quelque chose de nouveau conceptuellement et nécessite beaucoup d'expérimentation et de changement/refonte).

25
répondu Nick Pineda 2017-02-12 23:21:05