【问题标题】:Error with Schema - ReferenceError: Phone is not defined架构错误 - ReferenceError:电话未定义
【发布时间】:2016-05-17 16:44:34
【问题描述】:

我在使用 node.js 和 express 构建 CRUD Api 时遇到了一个小问题。

当我发布到我的 API 时,我收到“ReferenceError: Phone is not defined”

// server.js

// 基本设置 // ================================================= ==============================

//调用我们需要的包

var express    = require('express');        // call express
var app        = express();                 // define our app using express
var bodyParser = require('body-parser');
var phone = require('./models/phone');


var mongoose = require('mongoose');




 mongoose.connect('mongodb://<userID>:<pass>@apollo.modulusmongo.net:27017/ugygY5qe');



// configure app to use bodyParser()
// this will let us get the data from a POST
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

var port = process.env.PORT || 8080;        // set our port

// ROUTES FOR OUR API
// =============================================================================
var router = express.Router();              // get an instance of the express Router
router.use(function(req,res,next){
  console.log('Something is happening');
  next();
});


router.route('/phones').post(function(req, res){
  var phone = new Phone();
  phone.name = req.body.name;

  phone.save(function(err){
    if(err){
      res.send(err);
    }
    res.json({message: 'Phone Create'});
  });
});
// test route to make sure everything is working (accessed at GET http://localhost:8080/api)
router.get('/', function(req, res) {
    res.json({ message: 'hooray! welcome to our api!' });
});

// more routes for our API will happen here

// REGISTER OUR ROUTES -------------------------------
// all of our routes will be prefixed with /api
app.use('/api', router);

// START THE SERVER
// =============================================================================
app.listen(port);
console.log('Magic happens on port ' + port);

这是我的架构文件。

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

var phoneSchema = new Schema({
  name: String
});


module.exports = mongoose.model('Phone', phoneSchema);

我不确定错误在哪里。我已经查阅了 mongoose 文档,四处搜索,但仍然无法正常工作。

【问题讨论】:

  • 您的意思是var Phone = require('./models/phone');,但您指定了小写的变量。
  • 你是救生员!谢谢!

标签: javascript node.js mongodb api mongoose


【解决方案1】:

只是一个错字!检查第 4 行。

var Phone = require('./models/phone');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-14
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    • 2020-01-08
    相关资源
    最近更新 更多