javascript - 我在 Schema 中收到一条错误消息,指出它未注册。请参阅下面的说明
问题描述
所以。我正在尝试将 mongoDB 与使用 mongoose 的 expressjs 项目一起使用,但出现此错误
C:\Users\Sanjay\Desktop\BasicNodeJS\node_modules\mongoose\lib\index.js:434 throw new mongoose.Error.MissingSchemaError(name); ^ MissingSchemaError: 模式尚未注册模型“博客”。使用 mongoose.model(name, schema)
请查看下面的源代码,让我知道需要做哪些更改
这是架构代码.... blog.js
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
let blogSchema = new Schema(
{
blogId: {
type: String,
unique: true
},
title: {
type: String,
default: ''
},
description: {
type: String,
default: ''
},
bodyHtml: {
type: String,
default: ''
},
views: {
type: Number,
default: 0
},
isPublished: {
type: Boolean,
default: false
},
category: {
type: String,
default: ''
},
author: {
type: String,
default: ''
},
tags: [],
created: {
type: Date,
default: Date.now
},
lastModified: {
type: Date,
default: Date.now
}
};
);
mongoose.model('Blog', blogSchema)
这是主要的 js 文件代码... index.js
const express = require('express');
const appConfig = require('./config/appConfig');
const fs = require('fs');
const mongoose = require('mongoose');
const app = express();
let modelsPath = './models';
fs.readdirSync(modelsPath).forEach(function (file){
if(~file.indexOf('.js')) {
require(modelsPath+'/'+file);
};
});
app.listen(appConfig.port, () => {
console.log('example app listening on port 3000');
let db = mongoose.connect('mongodb://127.0.0.1:27017/blogAppDB');
});
解决方案
您可以尝试以下一种:
模型 :
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
let blogSchema = new Schema(
/*your schema fields*/
};
);
module.exports = mongoose.model('Blog', blogSchema) // here we export this schema to use in controller part
控制器:
var Blog = require('../models/blog.js');
现在您可以使用博客进行数据库操作了
推荐阅读
- python - 将数据写入工作表的问题
- javascript - GitHub Octokit/rest.js 用于单页应用程序的 OAuth
- mysql - SQL:用同一请求中的另一个选择完成我的选择
- python - 我在安装 python 包“深度匹配器”时遇到问题
- android - 使用特殊查询过滤清单中的 DeepLink
- angular - customWebpackConfig 在 Angular 中的 ng build --prod 中不起作用
- android - 适配器中的接口
- javascript - 计时器未启动(EasyTimer.js)
- wordpress - 如何修复一段时间后发生的 Varnish 中的“Error 503 Backend fetch failed”?
- grails - Grails GORM 从 SQL 查询中设置瞬态变量