尚未为模型

时间:2018-04-13 03:27:27

标签: javascript node.js

我的脚本中有什么问题,当我尝试运行它时总是说Schema尚未注册模型



var session = require('express-session');
var flash = require('connect-flash');
var mongoose = require('mongoose');

mongoose.Promise = global.Promise;

mongoos.connect('mongodb://localhost/csvUploads', {
  useMongoClient: true
});

require('./models/csvUpload');




这是我的app.js,下面是模型



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

var csvUploadsSchema = new Schema({
  jirakey: {
    type: String,
    required: 'Cannot be Left blank.'
  },
  status: {
    type: String,
    required: 'Cannot be Left blank.'
  },
  priority: {
    type: String,
    required: 'Cannot be Left blank.'
  },
  ...
})

module.exports = mongoose.model('csvUpload', csvUploadsSchema);




我的错误消息:

3 个答案:

答案 0 :(得分:0)

您需要在require文件中app.js该文件来注册您的架构。

服务器文件中的require('./path/to/model.js')之类的内容。并在连接到db

之前要求它

答案 1 :(得分:0)

尝试这样的事情

const mongoose = require('mongoose');
const yourSchema = mongoose.Schema({
value: {
    type: String,
    required: true, 
    trim: true,
},
title: {
    type: String,
    required: true,
    trim: true,
},...

module.export = mongoose.model("NameModel", yourSchema, "collectionName");

答案 2 :(得分:0)

配置文件

const mongoose = require('mongoose');
mongoose.connection.openUri(config.env.DB_URL, options, function(error){
    if(error){
        console.log(error);
        return;
    } else {
        console.log("connected");
    }
});
mongoose.Promise = global.Promise;
mongoose.set('debug', true);

模型文件

const mongoose = require('mongoose');
const debug = require('debug')('http')

const Schema = mongoose.Schema;

const csvUploadsSchema = new Schema({
  jirakey: {
    type: String,
    required: 'Cannot be Left blank.'
  },
  status: {
    type: String,
    required: 'Cannot be Left blank.'
  },
  priority: {
    type: String,
    required: 'Cannot be Left blank.'
  }
})
module.exports = mongoose.model('csvUpload', csvUploadsSchema);