首页 > 解决方案 > 将猫鼬对象传递给 puppeeter 的 evalute() 函数不起作用

问题描述

我正在尝试在使用 puppeeteer 和 nodejs进行抓取时传递 mongoose 对象来评估函数。这是我正在使用的猫鼬模型的代码:

const mongoose = require('mongoose');
const schema = mongoose.Schema;

var ArticleModel = new schema({
    
    description: {
        type: String,
        required: true
    },

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

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

});

module.exports = mongoose.model('Article', ArticleModel);

这是 puppeter 的评估函数的代码:

var res = await page.evaluate((article)=>{
          
          article.title="article title";
          article.url="article url";
          article.description ="article description";
          article.save(function(err,result)=>{
              if(err){
                 console.log(err);
              }

              if(result){
                console.log(result._id);
              }
          });

      },new ArticleModel());

当我运行此代码时,我收到此错误消息:错误:评估失败:TypeError:article.save 不是函数

有人可以帮忙吗?提前致谢。

标签: javascriptnode.jsmongoosepuppeteer

解决方案


推荐阅读