2015-06-14 2 views
1

У меня есть проблема о создании схемы Mongoose, когда я запустить мангуст + node.js При запуске приложения, я получаю следующее сообщение об ошибке:создание Mongoose схемы ошибка

Users/tyrant/workspace/myworkspace/nodeProjects/imooc/schemas/movie.js:3 
var MovieSchema = new mongoose.Scheme({ 
      ^
TypeError: undefined is not a function 
     at Object.<anonymous>  (/Users/tyrant/workspace/myworkspace/nodeProjects/imooc/schemas/movie.js:3:19) 
at Module._compile (module.js:460:26) 
at Object.Module._extensions..js (module.js:478:10) 
at Module.load (module.js:355:32) 
at Function.Module._load (module.js:310:12) 
at Module.require (module.js:365:17) 
at require (module.js:384:17) 
at Object.<anonymous> (/Users/tyrant/workspace/myworkspace/nodeProjects/imooc/models/movie.js:2:19) 
at Module._compile (module.js:460:26) 
at Object.Module._extensions..js (module.js:478:10) 
at Module.load (module.js:355:32) 
at Function.Module._load (module.js:310:12) 
at Module.require (module.js:365:17) 
at require (module.js:384:17) 
at Object.<anonymous> (/Users/tyrant/workspace/myworkspace/nodeProjects/imooc/app.js:5:13) 
at Module._compile (module.js:460:26) 

Heres моего movie.js код

var mongoose = require('mongoose') 
var MovieSchema = new mongoose.Scheme({ 
    doctor: String, 
    title: String, 
    language: String, 
    country: String, 
    summary: String, 
    flash: String, 
    poster: String, 
    year: String, 
    meta: { 
     createAt: { 
     type: Date, 
     default: Date.now() 
    }, 
     updateAt: { 
      type: Date, 
      default: Date.now() 
     } 
    } 
}) 

MovieSchema.pre('save', function(next){ 
    if (this.isNew) { 
     this.meta.createAt = this.meta.updateAt = Date.now() 
    } else { 
     this.meta.updateAt = Date.now(); 
    } 

    next() 
}) 



MovieSchema.statics = { 
    fetch: function(cb){ 
     return this 
      .find({}) 
      .sort('meta.updateAt') 
      .exec(cb) 
    }, 

findById:function(id, cb){ 
    return this 
     .findOne({_id: id}) 
     .exec(cb) 
    } 
} 

module.exports = MovieSchema 

это часть кода Node.js

var express = require('express'); //加载express模块 
var port = process.env.PORT || 3000; //设置端口 
var mongoose = require('mongoose') 
var _ = require('underscore') 
var Movie = require('./models/movie') 
var bodyParser = require("body-parser") 
var path = require('path') 
var app = express(); //启动一个web服务器 
mongoose.connect('mongodb://localhost/imooc') 

Я не могу фигурой из-за причины ошибки.

ответ

1

Предполагается, что это var MovieSchema = new mongoose.Schema(..), а не mongoose.Scheme(..).

+0

Я использую var MovieSchema = new mongoose.Schema (..), вы можете проверить мою вторую страницу кино.js – XBroder

+0

Нет, вы используете mongoose.Scheme (с e). Вам нужно использовать mongoose.Schema (с a). Проверьте его снова. –

+0

Я думаю, что я нашел свою ошибку, большое спасибо, это мой первый опыт использования stackoverflow – XBroder

Смежные вопросы