J'ai seulement utilisé mongodb. Dans mon opinion personnelle, je recommande de commencer avec quelque chose de faible niveau, puis en les déplaçant vers le haut. Sinon, vous pourriez trouver vous-même à l'aide de l'avancé de fonctionnalités fournies par la hausse du niveau des pilotes comme la mangouste à aucun avantage réel.
Le problème que j'ai eu avec mongodb, qui est endémique à node.js est les pauvres de la documentation. Il y a de la documentation et beaucoup de lui, mais il n'est pas toujours le plus utile. Que j'ai vu jusqu'à présent il n'y a pas de bonne et approfondie des exemples de la production de l'utilisation du pilote. La documentation est rempli avec la même basé sur un modèle exemple d'ouvrir une connexion, numéro de commande et fermer la connexion. Vous pouvez dire c'est le copier-collé à partir d'un modèle, parce que chaque exemple comprend requis pour tout ce qui peut être nécessaire plutôt que seulement ce qui est nécessaire pour chaque exemple.
Pour donner un exemple pris totalement au hasard:
- raw {Boolean, default:false}, effectuer des opérations à l'aide de matières bfils tampons.
Que signifie exactement "effectuer des opérations à l'aide de matières bfils tampons" faire? Je ne peux pas trouver il a expliqué n'importe où et une recherche sur Google pour cette phrase n'aide pas. Je pourrais peut-être Google plus, mais je ne devrais pas avoir à le faire. L'information devrait être là. Existe-il des performances, de la stabilité, l'intégrité, la compatibilité, la portabilité ou fonctionnellement avantages pour l'activation/la désactivation de cette option? Je n'ai vraiment aucune idée sans plonger profondément dans le code et si vous êtes dans mon bateau c'est un grave problème. J'ai un démon où parfait persistance n'est pas nécessaire, mais le programme doit être très stable au moment de l'exécution. Je ne pouvais supposer cela signifie qu'il attend de moi pour désérialiser et à la sérialisation JSON ou est quelque chose de faible niveau, interne et transparente pour l'utilisateur, mais je peux me tromper. Même si j'ai tendance à faire de bonnes suppositions je ne peux pas compter sur des hypothèses et de conjectures lors de la prise de systèmes vitaux. Donc ici, je peux tester mon affirmation avec le code ou de creuser beaucoup plus profond dans Google ou dans leur code. Comme un hors ce n'est pas si mauvais, mais je trouve mon auto dans cette situation à de nombreuses reprises lors de la lecture de leur documentation. La différence peut signifier jours passé sur une tâche versus heures. J'ai besoin de la confirmation et de la documentation à peine me donne une explication, sans parler de la confirmation.
La documentation est précipité. Il n'a pas d'expliquer les événements, donne vague de détails sur lorsque des erreurs sont jetés ou la nature de ces erreurs et il y a souvent plusieurs façons de faire de la connectivité qui peut être incertaine. Vous pouvez vous en tirer et ce n'est pas complètement inutile, mais il est très rugueux autour des bords. Vous trouverez certaines choses sont laissées à la conjecture et de l'expérimentation.