繁体   English   中英

黄瓜+猫鼬给了我Schema尚未注册

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM