【问题标题】:TypeError: Cannot read property 'create' of undefinedTypeError:无法读取未定义的属性“创建”
【发布时间】:2020-05-28 22:26:48
【问题描述】:

嗨,我刚开始使用 mongoose,我正在尝试运行我的代码的一部分,但它不能正常工作,每件事看起来都很好,但它一直给我错误无法读取 unfriend 的属性“创建”我尝试过其他语法但我得到同样的错误请帮助meee ...我将在这里发送代码,这两个console.log不起作用console.log(“helooooo”),console.log(dbArticle),代码给了我我会的错误将架构发送到此处,并且我最后在 ui 上得到 res.send。最后我应该提到我把这行代码放在我的 server.js 文件中 const MONGODB_URI = process.env.MONGODB_URI || "mongodb://localhost/scraper"; mongoose.connect(MONGODB_URI); 因为我想在 heroku 上部署我的应用程序

const mongoose = require("mongoose");

// Save a reference to the Schema constructor
const Schema = mongoose.Schema;

// Using the Schema constructor, create a new UserSchema object
// This is similar to a Sequelize model
const ArticleSchema = new Schema({
  // `title` is required and of type String
  title: {
    type: String,
    unique: true,
    required: true
  },
  // `link` is required and of type String
  link: {
    type: String,
    required: true
  },

  summary: {
    type: String,
    required: true
},

image: {
    type: String,
    required: true
},

saved: {
    type: Boolean,
    default: false
},

  // `note` is an object that stores a Note id
  // The ref property links the ObjectId to the Note model
  // This allows us to populate the Article with an associated Note
  note: [{
    type: Schema.Types.ObjectId,
    ref: "Note"
  }]
});

// This creates our model from the above schema, using mongoose's model method
const Article = mongoose.model("Article", ArticleSchema);

// Export the Article model
module.exports = Article;

const express = require ("express");
const axios = require ("axios");
const cheerio = require ("cheerio");
const mongoose = require("mongoose");
const db = require ("../models");

module.exports = function (app) {


    app.get ("/scrape", function (req, res){
        axios.get("https://www.newsweek.com/").then (function(response){
            const $ = cheerio.load(response.data);
    
            $("article.clearfix").each (function (i, element) {

                 // Save an empty result object
    
                let result = {};

                 // Add the text, summary, image and href of every link, and save them as properties of the result object
                result.title = $(this).children("h4").children("a").text();
                result.link = $(this).children("h4").children("a").attr("href");
                result.image = $(this).children(".image").children("a").children("picture").children("source").attr("srcset")
                result.summary = $(this).children(".summary").text();

                console.log(result)
    
               db.Article.create(result).then( function(dbArticle) {
                   console.log("helooooo")
                console.log(dbArticle)
               }).catch(function (err) {
                console.log(err)
              })
              
            });
        });
        res.send("it's working yeaaaaa")
    });
}

【问题讨论】:

    标签: mongoose mongoose-schema


    【解决方案1】:

    后端的服务器代码在哪里?

    【讨论】:

      猜你喜欢
      • 2020-10-15
      • 2021-11-19
      • 1970-01-01
      • 1970-01-01
      • 2020-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多