簡體   English   中英

模式尚未為模型“類別”注冊。 使用mongoose.model(名稱,模式)

[英]Schema hasn't been registered for model “categories”. Use mongoose.model(name, schema)

當我通過郵遞員在控制器中調用我的函數時,它工作正常並且得到了結果,但是當我為相同的函數編寫測試用例時,它表示錯誤為

MissingSchemaError: Schema hasn't been registered for model "categories".
Use mongoose.model(name, schema)

我對這些完全感到困惑,因為一個功能良好的功能如何導致測試用例出錯。任何人都可以建議幫助。 我的test.js,

      var server = require('../modules/categories/model/categories.server.model');
var chai = require('chai');
var chaiHttp = require('chai-http');

var should = chai.should();
var mongoose = require('mongoose');
chai.use(chaiHttp);

describe('Blobs', function() {
  it('should list ALL blobs on /getcategories GET');
});

it('should list ALL categories on /getcategories', function(done) {
  chai.request(server)
    .get('getcategories')
    .end(function(err, res){
      res.should.have.status(200);
      done();
    });
});

我的路線

     */
var categories = require('../categories/controller/categories.server.controller');
var model = require('../categories/model/categories.server.model');
var passport = require('passport');
module.exports = function (app) {
  // User Routes

  app.use(function (req, res, next) {
  // Setting up the users password api
  app.route('/api/auth/insertcategory').post(categories.insertcategory);
  app.route('/api/auth/getcategoriesbycreatedid/:id').get(categories.getcategoriesbycreatedid);
  app.route('/api/auth/getcategories').get(categories.getcategories);
});

可以請一個建議。

當您在解釋model之前嘗試在任何地方使用model時,通常會出現此問題。

嘗試在所有controllers and routes之前添加models

像這樣

var model = require('../categories/model/categories.server.model');
var categories = require('../categories/controller/categories.server.controller');
var passport = require('passport');

希望這會幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM