1
私はこれを探していましたが、理解できませんでした。 mongooseを使ってMongoDBデータにアクセスするためのnode.js上のアプリケーションがあります。mongoose.model.find(コールバック) - どのように動作しますか?
//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);
});
});
call.toString()
は、app.jsにコールバック関数の定義を返します。 Book.find(call)
は、内部的にコレクション名と一致するクエリを実行します(ただし、コレクション名を明示的に指定しません)が、レコードを誤ってフェッチする方法はありますか?
使用するdb接続を除いて、DBからフェッチされるものは絶対に参照せずに、定義をfind()
に渡します。
これはどのように機能しますか?
ありがとうございます!