Pourquoi le middleware nodejs-mongodb a une syntaxe différente de celle de mongo shell? - node.js, mongodb

Même si je "utilisais node-mongodb-native, je dois utiliser des fonctions légèrement différentes de manière légèrement différente des fonctions que j'écris dans mongodb shell.

  1. Pourquoi est-ce que c'est mieux?
  2. Est-il possible d'utiliser absolument la même syntaxe que celle que j'utilise au terminal mongodb shell?
  3. Si oui, y a-t-il des inconvénients? Par exemple, dans le cas de PostgreSQL, le middleware contient des fonctionnalités utiles telles que la prévention des injections SQL, etc.

Réponses:

3 pour la réponse № 1

Si vous pouviez poster un exemple de deux versions dela même fonctionnalité que vous voulez comparer alors je pourrais vous donner une meilleure explication mais puisque vous n'avez pas fourni d'exemple, alors je ne peux parler qu'en général.

Certaines des différences sont dues au fait que le shell Mongo exécute tout de manière séquentielle. Dans Node, vous devez utiliser des callbacks ou des promesses pour le contrôle de flux que vous ne faites pas dans le shell Mongo.

Il existe également des différences dans la manière dont vous accédez aux collections. Dans le shell Mongo, vous utilisez habituellement db.collectionName.

De même, dans le shell Mongo, vous avez certaines choses prédéfinies, comme les fonctions liées aux identifiants d'objet par exemple.

Et finalement Mongo utilise BSON pour les données et dans Node vous utilisez des littéraux d'objets JavaScript (plus comme JSON mais moins strict).

Node utilise la version 8 plus des fonctionnalités supplémentaires et le shell Mongo utilise SpiderMonkey, sans aucune fonctionnalité disponible dans Node.

Tout cela a des conséquences sur des différences subtiles.

Pour plus de détails, voir:


Menu