newUser.save()は関数ではありません。これは私が以前使用してきたマングース関数です。私はモンゴースを正しく必要とし、なぜこのエラーが発生しているのか分からない。どんな助けも歓迎されます。.save()は関数ではありません。Mongoose
私は取得していますエラーがTypeError: newUser.save is not a function
マイuser.jsのモデルフォルダ内のルートフォルダ
//Mongoose Setup
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
mongoose.connect("MY_DB");
var path = require('path');
var appDir = path.dirname(require.main.filename);
var bodyParser = require('body-parser')
var User = require('../models/user.js');
//Express Setup
var express = require('express');
var router = express.Router();
var app = express();
var expressValidator = require("express-validator");
app.use(bodyParser.urlencoded({ extended: false }));
app.use(expressValidator());
app.use(bodyParser.json());
//Routes
router.get('/register', function(req, res){
res.sendFile(appDir + "/views/register.html");
})
router.post('/register', function(req, res) {
req.check('name', 'Name must be Filled in').notEmpty();
req.check('email', 'Email must be Filled in').notEmpty();
req.check('email', "Invalid Email").isEmail();
req.check('password', 'Password Field must be Filled in').notEmpty();
req.check('password', 'Passwords do not Match').equals(req.body.password2)
var errors = req.validationErrors();
if(errors) res.send(errors)
else{ User.createUser({
name: req.body.name,
email: req.body.email,
password: req.body.password,
info: req.body.user_bio
}, function(){
console.log('User Created');
})
}
})
//Exports
module.exports = router;
私はコードを書く際にhttps://github.com/bradtraversy/loginapp/blob/master/models/user.jsを参照していました。なぜこれは動作し、私のものではないでしょうか? –
[コードの使用方法](https://github.com/bradtraversy/loginapp/blob/master/routes/users.js#L41-L51)を参照してください。新しいユーザーを最初にインスタンス化し、それを 'createUser'に渡します。しかし、tbh、コードワイズなプロジェクトはそれほど素晴らしいものではありません。 1つは、Mongooseが提供するツール(私の答えで言及した静的メソッドのようなもの)を使用しないことです。 – robertklep