Quiero construir un sitio usando JavaScript, React, Express y Node. ¿Debo usar PostgresQL?

La elección estándar de almacenamiento para Node.js es MongoDB. Es muy conveniente trabajar con él, ya que utiliza (una versión de) datos JSON, que obviamente funcionan muy bien con Javascript.

Sin embargo, realmente depende de lo que quieras y necesites. Si necesita restricciones de ACID, por supuesto, no puede usar un sistema de consistencia eventual como Mongo, y es posible que desee un DBMS basado en SQL. Postgres es ciertamente una opción muy respetable. (No sé el estado de los controladores de Node.js para Postgres, pero me sorprendería si no hubiera al menos uno bueno). Si BASE es lo suficientemente bueno, entonces tal vez vaya con Mongo.

Si simplemente no lo sabe , puede tener sentido comenzar con un solo almacenamiento y construir desde allí, refactorizar para agregar los demás cuando los necesite. Entonces Postgres se convierte en una opción aún mejor, ya que tiene instalaciones nativas para trabajar con JSON. Espero que sea mucho menos incómodo comenzar con Postgres y luego, según lo exija la necesidad, refactorizar la clave / valor y las partes de almacenamiento de documentos, de lo que sería comenzar con MongoDB e intentar colocar ese modelo en Postgres.

Por supuesto, me acerco a esta respuesta desde la perspectiva de que usted preguntó qué es bueno si desea “construir un sitio”, lo que hace que parezca que sus requisitos son bastante modestos y no están muy bien definidos. Las sugerencias de Adam Gering me suenan bien, para un sistema sustancial donde necesitas todo esto. Si solo quiere sumergir los dedos de los pies en el mundo de Node.js, lidiar con tres sistemas de almacenamiento en paralelo suena innecesariamente confuso.

La elección de los almacenes de datos no está estrechamente relacionada con los marcos que está utilizando, con algunas excepciones (por ejemplo, el uso de MongoDB por parte del cliente / servidor de Meteor).

Elegiría una base de datos de documentos (por ejemplo, Mongo, RethinkDB) y una base de datos relacional (Postgres, SQL Server), y para casos de uso específicos (por ejemplo, Sesión) un almacén de clave / valor (por ejemplo, Redis).

Su base de datos realmente no importa con esa pila. Postgres es bueno si está implementando en Heroku. Si desea usar un ORM, usaría Bookshelf; Escribí una publicación de blog sobre por qué no usar Sequelize ( http://dereksakamoto.com/i-promi …). Si quieres usar MongoDB, usa Mongoose.

More Interesting

Conozco Flask bastante bien y me gusta. ¿Hay alguna razón por la que me molestaría en aprender Django?

Cómo convertirse en un experto en desarrollo web

Tengo un código personalizado para mi sitio web, ¿cómo puedo integrarlo en WordPress?

PHP (lenguaje de programación): ¿Cómo puedo implementar correctamente MVC en PHP?

Soy un probador manual. Mi interés está en el desarrollo. ¿Es bueno aprender AWS o aprender alguna tecnología de desarrollo? Ya he versado en ASP.NET y Java.

Soy nuevo en desarrollo web y acabo de aprender HTML, CSS y JS, pero de repente, cosas como Node.js, Require.js y Backbone.js se están acercando. ¿Qué son estos y por qué los necesitamos?

Quiero crear una aplicación web similar a Pinterest, ¿hay alguna forma de obtener y mostrar imágenes sin almacenarlas en mi propio servidor?

Recientemente me colocaron en una empresa como desarrollador de PHP. ¿Debo ir por eso? Como, he oído que PHP es un lenguaje moribundo.

Me gradué en farmacia pero mi experiencia es en diseño de Ui / Ux. ¿Puedo obtener un buen trabajo basado en mis habilidades?

Cómo crear un sitio web similar a Hacker News o Growth Hackers usando WordPress

¿Cuál es la mejor manera de hacer un sitio web y vender productos en línea?

Casi fallé todas las preguntas durante la entrevista de posición de desarrollador de full stack, pero aún así me contrataron, ¿qué pasó?

Quiero desarrollar un sitio web de compras en dotnet, pero no sé nada sobre dotnet. ¿Dónde debería comenzar a estudiar? ¿Cuáles son algunos libros electrónicos gratuitos que me pueden ayudar? (principalmente libros electrónicos para ASP.NET).

Estoy aprendiendo a ser un desarrollador web full stack. Descubrí que el desarrollo frontend es mucho más difícil que el desarrollo backend. ¿Es esto solo mi error?

Cómo crear una tabla con un marco de JavaScript