[英]Cucumber + Mongoose is giving me Schema hasn't been registered for model
错误信息:
MissingSchemaError: Schema hasn't been registered for model "User".
Use mongoose.model(name, schema)
at Mongoose.model (/Users/JimBarrows/Desktop/TaskVelocity/cucubmer/node_modules/mongoose/lib/index.js:349:13)
at Object.<anonymous> (/Users/JimBarrows/Desktop/TaskVelocity/cucubmer/features/support/hooks.js:3:21)
我的world.js文件:
/**stuff**/
var mongoose = require('mongoose');
mongoose.Promise = require('bluebird');
require('../../../public_ui/models/Users');
var User = mongoose.model('User');
mongoose.connect('mongodb://192.168.99.100:27017/task_velocity');
据我了解,这应该很好地设置猫鼬。 然后在hooks.js中:
'use strict';
var mongoose = require('mongoose');
var User = mongoose.model('User');
我已经尝试过,在hooks.js文件中:
'use strict';
var mongoose = require('mongoose');
require('../../../public_ui/models/Users');
var User = mongoose.model('User');
但是当我尝试获取模型时,这给了我同样的错误。
关于我在做什么错的任何想法吗?
Jim Barrows,考虑到错误是:
MissingSchemaError:尚未为模型“ User ”注册架构。
并且您的world.js具有以下几行:
require('../../../ public_ui / models / User s');
var User = mongoose.model(' User ');
我相信这只是一个错字错误,您可以通过执行以下操作轻松修复它:
var User = mongoose.model('Users'); // instead of var User = mongoose.model('User');
** 顺便说一下,这正是dafyk几天前在您的帖子中所评论的内容(不是答案)...
希望这可以帮助
我不确定,但是...
检查此链接
您必须制作模式并设置mongoose.model('User',schema);
您可以显示“ Users.js”源代码吗? 如果要制作模块,像这样的源
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var UserSchema = new Schema({
username: String,
passwrod: String
//Have to Custom
});
module.exports = mongoose.model('User', UserSchema);
并使用这个
var Users = require('../../../public_ui/models/Users');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.