Perché il middleware nodejs-mongodb ha una sintassi diversa dalla shell mongo? - node.js, mongodb

Anche se io dovessi usare nodo mongodb nativa, devo usare funzioni leggermente diverse in un modo leggermente diverso rispetto alle funzioni che scrivo in shell mongodb.

  1. Perché mai è meglio?
  2. C'è modo di usare assolutamente la stessa sintassi che uso nel terminale shell mongodb?
  3. Se è così, ci sono degli svantaggi? Ad esempio, nel caso di PostgreSQL ci sono funzioni utili nel middleware come la prevenzione delle iniezioni SQL ecc.

risposte:

3 per risposta № 1

Se potessi pubblicare un esempio di due versioni dila stessa funzionalità che vuoi confrontare, potrei darti una spiegazione migliore ma, dato che non hai fornito alcun esempio, posso solo parlare in generale.

Alcune delle differenze sono perché la shell Mongo esegue tutto in modo sequenziale. In Node devi usare callback o promesse per il controllo del flusso che non fai nella shell di Mongo.

Inoltre ci sono alcune differenze nel modo in cui accedi alle collezioni. Nella shell Mongo di solito usi db.collectionName.

Anche nella shell di Mongo hai alcune cose predefinite, come ad esempio le funzioni relative agli ID di oggetto.

E infine Mongo usa BSON per i dati e in Node si usano i letterali degli oggetti JavaScript (più come JSON ma meno severi).

Il nodo utilizza V8 più funzionalità aggiuntive e la shell di Mongo utilizza SpiderMonkey, senza alcuna funzionalità disponibile nel nodo.

Tutto ha delle conseguenze in sottili differenze.

Per maggiori dettagli vedi:


Menu