我收到的错误是mongoose没有定义

时间:2015-11-27 15:23:28

标签: node.js mongodb

我正在使用MongoDB创建一个api,我正在使用Mongoose来创建数据持久性。但是我收到一个没有定义Mongoose的错误,我使用了require函数来调用节点模块但它仍然给我同样的错误。

以下是连接文件

var mongoose = require('mongoose')
var database = 'api'

const server = 'mongodb://localhost:27017/'+database
 console.log(server)

mongoose.connect(server)
const db = mongoose.connection
console.log(db)

var Schema = mongoose.Schema
var ObjectId = Schema.ObjectId

const WeatherSchema = new Schema({
  id: {type: String, required: true},
  name: { type: String, required: true },
  items: {type: String, required: true}
 })

 var WeatherDB = mongoose.model('DBlist', WeatherSchema)

1 个答案:

答案 0 :(得分:2)

您应该等待数据库连接,因为它不会立即发生。像这样:

var mongoose = require('mongoose');
mongoose.connect(sever);
var db = mongoose.connection;
db.on('disconnect', connect); // auto reconnecting
db.on('error', function(err) {
    debug('connection error:', err);
});
db.once('open', function (callback) {
    // we're in the game, start using your Schema
    const WeatherSchema = new Schema({...
});

P.S。 我添加了一些额外的糖只是为了让你知道这些事件的存在,并且非常有助于了解正在发生的事情。