Ich bin sehr neu und habe durch die Archive geschaut, aber was in diesem Code vor sich geht, entzieht sich mir. Ich habe Express-Generator verwendet, um eine Kalender-App zu erstellen und möchte sie jetzt mit MongoDB verbinden. Die Verbindung zu Mongo funktioniert, aber ich kann kein Dokument speichern.Mungo: .save ist keine Funktion
Der relevante Teil meiner global.js (wo ich meine Front-End Javascript renne) sieht wie folgt aus:
$(document).ready(function() {
var ev = new Event({ date: "a6_13_2016", time: 900, description:"Fencing"});
ev.save(function(err) {
if (err) console.log(err);
else console.log("Success!")
})
Dies ist, wo ich die „Typeerror bin immer: ev. Speichern ist keine Funktion "Nachricht. Meine Modelle/Events.js sieht wie folgt aus:
var mongoose = require('mongoose');
var eventSchema = new mongoose.Schema({
date: String,
time: Number,
description: String
});
module.exports = mongoose.model('Event', eventSchema);
Meine Routen/events.js wie folgt aussieht:
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var Event = require('../models/Events.js');
/* GET /event listing. */
router.get('/', function(req, res, next) {
Event.find(function (err, dates) {
if (err) return next(err);
res.json(dates);
});
});
/*POST event*/
router.post('/', function(req, res, next) {
Event.create(req.body, function (err, post) {
if (err) return next(err);
res.json(post);
});
});
/* GET /event/id */
router.get('/:id', function(req, res, next) {
Event.findById(req.params.id, function (err, post) {
if (err) return next(err);
res.json(post);
});
});
module.exports = router;
Ich möchte etwas zu retten, es zu testen, aber es gibt me“.save ist keine Funktion. Anders als
var events = require('./routes/events');
app.use('/events', events);
und der Code zur Gründung der Mongoose Verbindung mein app.js Datei ist Standard. Was denkst du ist das Problem?
Sie betreiben Mungo vom Front-End? – NatureShade
['Event'] (https://developer.mozilla.org/en-US/docs/Web/API/Event) ist ein global, das bereits in Browsern existiert. Auch wenn Sie nicht sicher sind, warum Sie Mungo-Kram im Frontend verwenden, werden Sie wahrscheinlich nur eine AJAX-Anfrage senden wollen, um Daten von Ihrem Client an Ihren Server zu senden, und dann einfach den Mungo-Kram auf der Serverseite erledigen. – saadq