Node.js 我得到一个错误的猫鼬是没有定义的

Node.js 我得到一个错误的猫鼬是没有定义的,node.js,mongodb,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.co

我正在使用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)

您应该等待数据库连接,因为这不会立即发生。大概是这样的:

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、 美国。 我添加了一些额外的糖,只是为了让你知道这些事件的存在,这对理解发生了什么非常有帮助