Modelle .find rufen/category.jsWie funktioniert das Callback-Anruf in Node.js mit Mongo
var mongoose = require('mongoose');
// Category Schema
var categorySchema = mongoose.Schema({
title: {
type: String
},
description: {
type: String
},
created_at: {
type: Date,
default: Date.now
}
});
var Category = module.exports = mongoose.model('Category', categorySchema);
// Get Categories
module.exports.getCategories = function(callback, limit) {
Category.find(callback).limit(limit).sort([['title', 'ascending']]);
}
Routen/categories.js
var express = require('express');
var router = express.Router();
Category = require('../models/category.js');
router.get('/', function(req, res, next) {
Category.getCategories(function(err, categories) {
if (err) res.send(err);
res.render('categories',
{
title: 'Categories',
categories: categories
});
});
});
router.post('/add', function(req,res) {
res.send('Form Submitted');
});
module.exports = router;
habe ich ein paar Fragen zu diesem Code
a) Wie funktioniert der Callback-Mechanismus von routes/categories.js, wenn wir diese Callback-Funktion übergeben? models/category.js in Category.find (Rückruf). Das erscheint mir bizarr, da wir einen ganzen res.render machen, der Teil von Category.find() wird?
b) Wo ist die Grenze angegeben?
c) Warum ist var nicht vor Kategorie = require ('../ models/category.js');
a) es ist nur javascript, .find Prüft Art von Parameter und gibt alle zurück, wenn es keine Abfrage gibt. b) Limit ist in Ihrem Fall nicht definiert. c) Auch es ist Javascript, es wird Modulebene Variable in Nodejs sein – YOU