TypeError:Post.create不是mongodb的函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TypeError:Post.create不是mongodb的函数相关的知识,希望对你有一定的参考价值。
test.js文件包含.create
函数,该函数在运行时显示类型错误。我已经尝试过插入功能保存功能,但它根本不将它识别为功能。我无法找到create function中的类型错误。
test.js文件
const mongoose = require('mongoose')
const Post = ('/database/models/Post')
mongoose.connect('mongodb://localhost/nodejs-test-blog')
// Post.find({}, (error, posts) => {
// console.log(error, posts)
// })
Post.create({
title: 'My second blog post',
description: 'Second Blog post description',
content: 'Second Lorem ipsum content.'
}, (error, post) => {
console.log(error, post)
})
Post.js文件
const mongoose = require('mongoose')
///
const PostSchema = new mongoose.Schema({
title: String,
description: String,
content: String
})
const Post = mongoose.model('Post', PostSchema)
module.exports = Post
答案
使用mongodb的定义架构路径
require('./database/models/Post')
另一答案
我会这样做的
require('./database/models/Post');
const mongoose = require('mongoose');
const Post = mongoose.model('Post);
如果你有很多模型,你可能想要创建一个不同的文件并要求所有模型在一起并需要这个新文件
models.js
const glob = require('glob');
const path = require('path');
// grab all mongo models name to require them
glob.sync('./database/models/**/*.js').forEach(file => {
require(path.resolve(file));
});
然后在你的test.js文件中
require('./path/to/models.js');
const mongoose = require('mongoose');
const Post = mongoose.model('Post);
另一答案
导入架构时必须表示对象。试试这个。
const Post = ('/database/models/Post').Post;
以上是关于TypeError:Post.create不是mongodb的函数的主要内容,如果未能解决你的问题,请参考以下文章
webpack:TypeError:validateOptions 不是函数
TypeError:将循环结构转换为 mongodb/mongoose 的 JSON
为啥我在使用 tkinter 时会出现这个 TypeError?