Problema con obtener datos de db en node

Iniciado por antkk, 27 Marzo 2018, 18:33 PM

0 Miembros y 1 Visitante están viendo este tema.

antkk

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 (javascript) [Seleccionar]
const mongoose = require('mongoose');

var libro = mongoose.Schema({
    titulo: String,
    estado: String,
    autor: String,
    genero: String
});

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 (javascript) [Seleccionar]
const Libreria = require('./db');
const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/libreria', (err) => {
    if(err) throw err;

    console.log("Conexión a db correcta");
});

...

function allBooks(){
    var libros = Libreria.find({}) // Esto lo he puesto de mil maneras

    return libros;
}

exports.allBooks = allBooks;


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?

srWhiteSkull

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  ;)