Por que o middleware nodejs-mongodb tem sintaxe diferente do mongo shell? - node.js, mongodb

Mesmo se eu usasse nodo-mongodb-nativo, eu tenho que usar funções ligeiramente diferentes de maneira ligeiramente diferente das funções que escrevo no shell mongodb.

  1. Por que diabos isso é melhor?
  2. Existe maneira de usar absolutamente a mesma sintaxe que eu uso no terminal shell mongodb?
  3. Em caso afirmativo, existem desvantagens? Por exemplo, no caso do PostgreSQL, existem recursos úteis no middleware, como prevenção de injeções de SQL, etc.

Respostas:

3 para resposta № 1

Se você pudesse postar um exemplo de duas versões dea mesma funcionalidade que você deseja comparar, então eu poderia dar-lhe uma explicação melhor, mas desde que você não forneceu qualquer exemplo, então eu só posso falar em geral.

Algumas das diferenças são porque o shell do Mongo executa tudo sequencialmente. No Node você tem que usar callbacks ou promessas de controle de fluxo que você não faz no shell do Mongo.

Também existem algumas diferenças em como você acessa as coleções. Na shell Mongo você costuma usar db.collectionName.

Também no shell do Mongo você tem algumas coisas predefinidas, como funções relacionadas a ids de objetos, por exemplo.

E finalmente o Mongo usa BSON para dados e no Node você usa literais de objeto JavaScript (mais como JSON mas menos estrito).

O nó usa o V8 mais funcionalidades adicionais e o shell do Mongo usa o SpiderMonkey, sem nenhuma funcionalidade disponível no Node.

Tudo isso tem consequências em diferenças sutis.

Para mais detalhes, consulte:


Cardápio