/ / mongoose.model.find (callback) - Come funziona? - node.js, mongodb, modello, callback, find

mongoose.model.find (callback) - Come funziona? - node.js, mongodb, model, callback, find

Ho cercato questo, ma non riuscivo a capire. Ho un'app su node.js per accedere ai dati MongoDB usando mongoose.

//contents of book.js
var Book = module.exports = mongoose.model("Books",genreSchema)
Book.getBooks = function(call,limit){
Book.find(call).limit(limit);
console.log(call.toString());
}


//contents of app.js
mongoose.connect("mongodb://localhost/bookstore");
var db = mongoose.connection;
Books = require("./models/book");
app.get("/api/book", function(req,res){
Books.getBooks(function(err, book){
if(err){ throw err;}
res.json(book);
});
});

Il call.toString() restituisce la definizione della funzione di callback in app.js. Come funziona il Book.find(call) richieste interne per abbinare il nome della raccolta (anche se non specifico esplicitamente il nome della raccolta) per recuperare i record in modo errato?

Passo una definizione a find() senza alcun riferimento a ciò che deve essere recuperato dal DB tranne la connessione db utilizzata.

Voglio sapere come funziona?

Grazie!

risposte:

0 per risposta № 1

Quando definisci il Book modello usando:

var Book = module.exports = mongoose.model("Books", genreSchema)

Mongoose prende il nome del modello in maiuscolo e pluralizzato di "Books" per ottenere il nome della raccolta di books.

È possibile definire esplicitamente il nome della raccolta da utilizzare tramite il terzo parametro facoltativo su model:

var Book = module.exports = mongoose.model("Books", genreSchema, "books")