【发布时间】: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")
});
}
【问题讨论】: