Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

269
Vistas
¿Cómo almaceno objetos NeDB en una colección?

Quiero usar NeDB como base de datos para una aplicación ExpressJS muy simple. Me gustaría almacenar colecciones de objetos en un archivo separado, por lo que un archivo para pedidos (orders.json). Sin embargo, cada vez que inserto un objeto de pedido en el almacén de datos, simplemente se agrega como un objeto adicional en lugar de crear una matriz.

 var Datastore = require('nedb') , orders = new Datastore({ filename: __dirname + '/orders.json', autoload: true }); const order = { chatId: 4324234, url: 'https://google.com', maxPrice: 200, incrementPrice: 2, expiryHours: 24, timestamp: Date.now() } orders.insert(order); orders.insert(order);

Esto almacena los objetos como:

 {"chatId":1,"url":"https://google.com","maxPrice":200,"incrementPrice":2,"expiryHours":24,"timestamp":1631185683197,"_id":"mh9tdb06Tw29JXSW"} {"chatId":1,"url":"https://google.com","maxPrice":200,"incrementPrice":2,"expiryHours":24,"timestamp":1631185691156,"_id":"8Dg6GXFlygYMPmRZ"}

Como ya puede ver, este es un JSON no válido. Espero que se almacenen en una matriz (una matriz que contiene todos los pedidos).

¿Cómo puedo lograr esto usando NeDB?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

NeDB almacena documentos, no datos json, simplemente son similares. Sus archivos json necesitarán un contexto {} de nivel superior, mientras que su base de datos nedb no lo necesitará. Por lo tanto, debe almacenar los datos en archivos .db, no en archivos .json, ya que no está almacenando datos json. Cada vez que está insertando un pedido, está insertando un nuevo documento. Nunca le está diciendo a nedb que cree o envíe a una matriz, sino que está insertando nuevos documentos.

 orders.find({}, (err, doc) => { console.log(doc); })

El código anterior devolverá todos sus datos insertados en una matriz. Si entiendo sus necesidades correctamente, podría pensar en los datos de los orders como una matriz implícita. Sus documentos no se recuperarán necesariamente en el mismo orden en que los insertó

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda