CNode

江湖急救:TypeError: Cannot read property 'findOne' of undefined

问答
994007boy发布于9 年前最后回复9 年前12 回复9173 浏览0 收藏

不知道动了什么,突然之间,mongoose所有的操作数据库的方法,比如find,findOne等等,全部报错,错误都是: TypeError: Cannot read property 'xxxx' of undefined 字面上看我models文件夹下的数据模型,都获取不到了,都成了 undefined!

尼玛,我真的啥也没动啊,一下子就这样了,数据库全部无法操作了!! 代码如下:

var logger = require('../common/logger'); var Promise = require('bluebird'); var models = require('../models'); var CheckCode = models.CheckCode; var moment = require('moment');

exports.checkIsExpired = function(mobile){ return CheckCode.findOne({mobile:mobile,expire_time:{$gt:moment().valueOf()}}).exec(); }; CheckCode 未定义!!!!!!!!!!! why???????????????

models文件夹下index.js代码如下: var mongoose = require('mongoose'); var config = require('../config'); var logger = require('../common/logger')

mongoose.connect(config.db, { server: {poolSize: 20} }, function (err) { if (err) { logger.error('connect to %s error: ', config.db, err.message); process.exit(1); } });

require('./user_admin'); exports.CheckCode = mongoose.model('CheckCode');

数据模型checkcode.js代码如下: var CheckCodeSchema = new Schema({ mobile:{type: String},//手机号 device_id:{type: String},//设备唯一标示 checkCode:{type: Number, default: 0 },//验证码 create_time: { type: Number, default:(moment().valueOf()) },//创建时间 expire_time: { type: Number, default:(moment().valueOf()) },//失效时间 is_use: { type: Boolean },//是否使用 using_time: { type: Number, default:(moment().valueOf()) }//使用时间 });

CheckCodeSchema.plugin(BaseModel); CheckCodeSchema.index({create_time: -1});

mongoose.model('CheckCode', CheckCodeSchema);

版本信息: "express": "4.13.4", "mongoose": "4.4.9", "body-parser": "1.15.0",

查看回复

回复 (12)

J
jiangli373#1·9 年前

额 你最好把models下的index.js 和 CheckCode.js的代码也贴一下吧

M
MichealDean#3·9 年前

这个问题一般情况下是没有连上数据库导致的。。。检查一下数据库是否启动,然后是否能正常连接mongodb。

S
stjw7098#4·9 年前

厉害

S
stjw7098#5·9 年前

厉害

J
jiangli373#6·9 年前
引用 94007boy@jiangli373 大神,我贴了!

@94007boy 是不是在index里面没有把CheckCode导出

require(’./checkcode’);
exports.CheckCode    = mongoose.model(‘CheckCode’);
9
94007boy#7·9 年前
引用 jiangli373@94007boy 是不是在index里面没有把CheckCode导出

@jiangli373 exports.CheckCode = mongoose.model(‘CheckCode’);

J
jiangli373#8·9 年前
引用 94007boy@jiangli373 exports.CheckCode = mongoose.model(‘CheckCode’);

@94007boy

require(’./checkcode’);了吗

H
hewentaowx#9·9 年前

untitled5.png

H
hewentaowx#10·9 年前

@94007boy 你这个引入路径是不是写错了

H
hewentaowx#11·9 年前

而且我也觉得你的model引入的有问题

S
stjw7098#12·9 年前

闪烁

参与回复
登录后即可参与回复。登录