【问题标题】:mongoose - blogPost not a constructor error (schema/model error)mongoose - blogPost 不是构造函数错误(模式/模型错误)
【发布时间】:2018-01-29 16:36:56
【问题描述】:

我是 mongoose 和 mongodb 的新手,我正在尝试连接到 mlab 并插入一些数据,但我不断收到以下代码的以下错误

var newPost = new blogPost({title:'First Post', post:'this is my first post'});
              ^

TypeError: blogPost is not a constructor
    at Object.<anonymous> (C:\Users\ipingou\website\hwnay\index2.js:39:15)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3

这是我的代码:

const mongoose = require('mongoose');    

var blogPost = mongoose.Schema({
        title : String,
        post : String
    });

mongoose.model('blogPost',blogPost, 'blogPost');

var newPost = new blogPost({title:'First Post', post:'this is my first post'});

newPost.save(function(err,newPost){
    if(err) return console.log(err);
    console.log(newPost);
});

【问题讨论】:

    标签: node.js mongoose schema


    【解决方案1】:

    您遗漏了一个关键部分。所以你已经定义了一个模式,但是你需要从那个模式创建一个模型:

    var Post = mongoose.model('blogPost', blogPost);
    
    var newPost = new Post({ title: 'First Post', post: 'this is my first post' });
    
    newPost.save(function(err, newPost){
        if(err) {
          return console.log(err);
        }
        console.log(newPost);
    });
    

    您可以找到一个示例here。更详细的解释可以看here

    【讨论】:

    • 谢谢!就是这样。我想我应该更仔细地阅读文档。谢谢~!
    • 我很高兴听到这个消息。您能否接受我的回答作为对您问题的回答?
    猜你喜欢
    • 1970-01-01
    • 2022-06-11
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多