läuft mongodb Funktionen in node.js
forms.create is not a function
TypeError: forms.create is not a function
at G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\routes\formrouter.js:25:10
at Layer.handle [as handle_request] (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\layer.js:95:5)
at next (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\route.js:131:13)
at next (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\route.js:125:14)
at Route.dispatch (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\layer.js:95:5)
at G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:277:22
at Function.process_params (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:330:12)
at next (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:271:10)
at jsonParser (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\body-parser\lib\types\json.js:94:7)
at Layer.handle [as handle_request] (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:312:13)
at G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:280:7
at Function.process_params (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:330:12)
at next (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:271:10)
at Function.handle (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:176:3)
var mongoose = require('mongoose'),
assert = require('assert');
var response = require ('response');
var forms = require('../models/forms-1');
// Connection URL
var url = 'mongodb://localhost:27017/ezySchooling';
mongoose.connect(url);
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
// we're connected!
console.log("Connected correctly to server");
// create a new user
var newform = forms({
firstname: 'may',
lastname : 'apo',
dob : 25-05-1996,
address : 'vaishali',
phonenumber : 8447872060
});
// save the user
newform.save(function (err) {
if (err) throw err;
console.log('form created!');
// get all the users
forms.find({}, function (err, forms) {
if (err) throw err;
// object of all the users
console.log(forms);
db.collection('forms').drop(function() {
db.close();
});
});
});
});
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
// create a schema
var formSchema = new Schema({
firstname: {
type: String,
//required: true,
unique: true
},
lastname: {
type: String,
//required: true,
unique: true
},
dob: {
type: Date,
required: true
},
address: {
type: String,
required: true
},
phonenumber: {
type:Number ,
required: true
}
//timestamps: true
});
// the schema is useless so far
// we need to create a model using it
var forms = mongoose.model('form', formSchema);
// make this available to our Node applications
module.exports = forms;
Ich bin mit Rest-API mit mongodb und m ongoose, ich habe alle relevanten Änderungen an app.js vorgenommen und kann immer noch keine Funktion von mongodb in node.js ausführen. Ich habe App.js und Router-Datei, die Form-Router mit dieser Abfrage ist angehängt.
forms.Create is not a function
TypeError: forms.Create is not a function
at G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\routes\formrouter.js:26:10
at Layer.handle [as handle_request] (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\layer.js:95:5)
at next (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\route.js:131:13)
at next (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\route.js:125:14)
at Route.dispatch (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\layer.js:95:5)
at G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:277:22
at Function.process_params (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:330:12)
at next (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:271:10)
at jsonParser (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\body-parser\lib\types\json.js:94:7)
at Layer.handle [as handle_request] (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:312:13)
at G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:280:7
at Function.process_params (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:330:12)
at next (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:271:10)
at Function.handle (G:\EZY SCHOOLING BACKEND\expresswithmongodb\chalega\rest-server\node_modules\express\lib\router\index.js:176:3)
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var response=require ('response');
var url = 'mongodb://localhost:27017/conFusion';
mongoose.connect(url);;
var db= mongoose.connection;
//var forms = mongoose.model('forms', formSchema);
db.on('error',console.error.bind(console,'connection error:'));
db.once('open',function(){
console.log('connected to server');
});
var routes = require('./routes/index');
var users = require('./routes/users');
var tr= require('./routes/tr');
var fp=require('./routes/fp');
var schools =require('./routes/schools');
var caf = require('./routes/caf');
var login= require('./routes/login');
var formRouter = require('./routes/formRouter');
//var logRouter = require('./routes/logiRouter');
//var signRouter = require('./routes/signuRouter');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/users', users);
app.use('/tr',tr);
app.use('/fp',fp);
app.use('/schools',schools);
app.use('/caf',caf);
app.use('/login',login);
//app.use('/logs',logRouter);
//app.use('/signs',signRouter);
app.use('/forms',formRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
// error handlers
// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
module.exports = app;
var express = require('express');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var response = require('response');
var forms = require('../models/forms');
var multer = require('multer');
var assert = require('assert');
mongoclient= require('mongodb').mongoclient;
var mongodb = require('mongodb');
var formRouter = express.Router();
formRouter.use(bodyParser.json());
formRouter.route('/')
.get(function (req, res, next) {
// forms.find({}, function (err, form) {
//if (err) throw err;
//res.json(form);
res.render('caf', { title: 'Ezyschooling' });
// res.end('chalega');
//});
})
.post(function (req, res, next) {
forms.Create(req.body, function (err, form) {
if (err) throw err;
console.log('formcreated!');
var id = form._id;
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end('Added the formwith id: ' + id);
});
})
.delete(function (req, res, next) {
forms.remove({}, function (err, resp) {
if (err) throw err;
res.json(resp);
});
});
formRouter.route('/:formId')
.get(function (req, res, next) {
forms.findById(req.params.formId, function (err, form) {
if (err) throw err;
res.json(form);
});
})
.put(function (req, res, next) {
forms.findByIdAndUpdate(req.params.formId, {
$set: req.body
}, {
new: true
}, function (err, form) {
if (err) throw err;
res.json(form);
});
})
.delete(function (req, res, next) {
forms.findByIdAndRemove(req.params.formId, function (err, resp) { if (err) throw err;
res.json(resp);
});
});
module.exports = formRouter;
können Sie den Inhalt in models/forms.js veröffentlichen? Das scheint das Problem zu sein. Ich schätze, Sie haben entweder überhaupt keine Create-Funktion exportiert, oder Sie haben es falsch geschrieben oder möglicherweise Create erstellt. – Paul
Ich habe forms.js und forms-1.js in der obigen Abfrage hinzugefügt, bitte sehen Sie es sich an und ich weiß auch nicht, wie man create function exportiert? können Sie bitte auch in dieser Hinsicht helfen –