簡體   English   中英

我正在嘗試在程序中使用貓鼬模式,但它一直顯示錯誤用戶不是構造函數

[英]I am trying to use mongoose Schema in my program but it keeps on showing error User is not a constructor

我正在嘗試在程序中使用貓鼬模式,但它一直顯示錯誤用戶不是構造函數。

我不確定為什么會這樣...

這是我當前的“ api.js”源代碼:

var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
const Schema = mongoose.Schema;
const db = 'mongodb://localhost:27017/stfe';
mongoose.connect(db,(err) => {
    if(err) {
        console.log("error");
    }
    else {
        console.log("DB connected a port 27017");
    }
});
var User = '../models/userschema';

/* GET home page. */
router.get('/', function(req, res, next) {
    res.send("hello from the backend");
});

const newUser = {
    firstname:"Asim",
    lastname:"Dahal",
    email:"arsenalsim@gmail.com",   
    password:12321,
    cell_number:222,
    alternate_number:111
};

router.get('/insertuser', function(req, res, next) {

    var user = new User({
        firstname:"asim",
        lastname:"dahal",
        email:"arsenalasim@gmail.com",
        password:"12321", 
        cell_number:12321,
        alternate_number:12321
    });

    user.save((err) => {
        if(err) {
            console.log(err);
        }
        else {
            console.log('saved');
        }
    });
});

module.exports = router;

這是我當前的userschema.js源代碼:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

var UserSchema = new Schema({
  firstname: {
    type: String,
    required: true
  },
  lastname: {
    type: String,
    required: true
  },
  email: {
    type: String,
    required: true,
    unique: true
  },
  password: {
    type: String,
    required: true
  },
  cell_number: {
    type: Number,
    required: true
  },
  alternate_number: {
    type: Number,
    required: true
  }
})
// var UserSchema = mongoose.model('User', UserSchema);
module.exports = mongoose.model(User,UserSchema)

導入用戶模型時發生錯誤。 在api.js中,替換:

var User = '../models/userschema';

通過

var User = require('./models/userschema');

並在userschema.js中,替換為:

// var UserSchema = mongoose.model('User', UserSchema);
module.exports = mongoose.model(User,UserSchema)

通過

var User =mongoose.model('User', UserSchema);
module.exports = User;

請按照上述步驟,當您單擊“ insertuser”端點時,將在控制台上打印“保存”。

var mongoose = require('mongoose');
mongoose.Promise = require('bluebird');
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;

var UserSchema = new mongoose.Schema({

     //Blabla.....

});

module.exports = mongoose.model('User', UserSchema);

並在您的路由器中

const User = require('../model/user');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM