Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: antkk en 27 Marzo 2018, 18:33 pm



Título: Problema con obtener datos de db en node
Publicado por: antkk en 27 Marzo 2018, 18:33 pm
Hola a todos. Tengo un problema para devolver unos datos de una db en mongodb. Os pongo en situación.

Tengo un archivo llamado db.js, que tiene el siguiente contenido:

Código
  1. const mongoose = require('mongoose');
  2.  
  3. var libro = mongoose.Schema({
  4.    titulo: String,
  5.    estado: String,
  6.    autor: String,
  7.    genero: String
  8. });
  9.  
  10. module.exports = mongoose.model('estanteria', libro);

Estoy usando mongoose en vez de mongodb a pelo.

Tengo otro archivo llamado estanteria.js que tiene el siguiente contenido:

Código
  1. const Libreria = require('./db');
  2. const mongoose = require('mongoose');
  3.  
  4. mongoose.connect('mongodb://localhost/libreria', (err) => {
  5.    if(err) throw err;
  6.  
  7.    console.log("Conexión a db correcta");
  8. });
  9.  
  10. ...
  11.  
  12. function allBooks(){
  13.    var libros = Libreria.find({}) // Esto lo he puesto de mil maneras
  14.  
  15.    return libros;
  16. }
  17.  
  18. exports.allBooks = allBooks;
  19.  

El problema lo tengo en la función allBooks(), que no sé como devolver el contenido de la colección en un array de objetos, para luego mostrarlo por web. Alguien me puede ayudar?


Título: Re: Problema con obtener datos de db en node
Publicado por: srWhiteSkull en 27 Marzo 2018, 23:40 pm
No se lo que es el mongool ese jajajaj pero te sugiero que en vez de devolver un objeto, devuelvas ese objeto en una cadena json y luego quien la reciba lo convierta a un objeto.

Los objetos tienen sus propiedades o atributos y posiblemente un código que puede ser incompatible con otras plataformas, y es por eso por lo que para resolver este tipo de problemas lo que se hace es directamente trabajar con las propiedades del objeto, como su id, su nombre, etc... y luego desde la plataforma que reciba esta información se instancia el objeto que funcionará de la misma manera, su homólogo, pero tomando todas sus propiedades.

Espero que esto te sirva para resolver el problema que tienes, suerte  ;)