2016-05-01 68 views
0

錯誤消息:黃瓜+貓鼬是給我的架構尚未註冊模式

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'); 

但給了我同樣的錯誤,當我試圖讓阿霍德模型。

關於我在做什麼錯的任何想法?

+1

你可以添加」 ../../../public_ui/models/Users.js內容'你的問題? – JohnnyHK

+0

請同時提供您的Schema以及爲什麼您沒有爲'require('../../../ public_ui/models/Users')分配任何變量;'? – ayushgp

+2

驗證您是否真的在您的模型中定義了「用戶」(單數)「... public_ui/models/Users」(複數) – dafyk

回答

2

吉姆·巴羅斯,考慮到錯誤是:

MissingSchemaError: Schema hasn't been registered for model "User".

和你world.js有下面幾行:

require('../../../public_ui/models/Users');

var User = mongoose.model('User');

我相信這只是一個錯字的錯誤,你可以通過以下操作輕鬆修復:

var User = mongoose.model('Users'); // instead of var User = mongoose.model('User'); 

**它的方式是什麼dafyk在您的文章(未回答)前幾天...

希望這有助於

1

我不知道評論,但是......

檢查這個link

你必須做的模式,並設置mongoose.model( '用戶',模式);

你能告訴我「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');