小编Dag*_*nqx的帖子

如何防止 Moongoose 中的字段更新

我有一个看起来像这样的架构:

"use strict"

const mongoose = require('mongoose');
const timestamp  = require('mongoose-timestamp');

const CustomerSchema = new mongoose.Schema({
    name : {
        type : String,
        required : true,
        trim : true
    },
    email : {
        type : String,
        required : true,
        trim : true
    },
    balance : {
        type : Number ,
        default : 0
    }
})

//use timestamps to add created at and updated at
CustomerSchema.plugin(timestamp);

const Customer = mongoose.model('Customer',CustomerSchema);

module.exports = Customer;
Run Code Online (Sandbox Code Playgroud)

当我想运行更新时,我运行此代码

const Customer = require('../models/Customer');
const customer =  await …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js

4
推荐指数
2
解决办法
1712
查看次数

如何将 puppeteer 插件与 puppeteer 集群结合起来?

我有一个需要从使用 React 的网站中抓取的 url 列表,因此我使用 Puppeteer。我不想被反机器人服务器阻止,因此我添加了puppeteer-extra-plugin-stealth 我想阻止广告加载到页面上,所以我使用puppeteer-extra-plugin-来阻止广告adblocker 我还想防止我的IP地址被列入黑名单,所以我使用TOR节点来拥有不同的IP地址。下面是我的代码的简化版本,设置有效TOR_port虽然webUrl是动态分配的,但为了简化我的问题,我将其分配为变量)。但有一个问题:

const puppeteer = require('puppeteer-extra');
const _StealthPlugin = require('puppeteer-extra-plugin-stealth');
const _AdblockerPlugin = require('puppeteer-extra-plugin-adblocker');

puppeteer.use(_StealthPlugin());
puppeteer.use(_AdblockerPlugin());

var TOR_port = 13931;
var webUrl ='https://www.zillow.com/homedetails/2861-Bass-Haven-Ln-Saint-Augustine-FL-32092/47739703_zpid/';


const browser = await puppeteer.launch({
    dumpio: false,
    headless: false,
    args: [
        `--proxy-server=socks5://127.0.0.1:${TOR_port}`,
        `--no-sandbox`,
    ],
    ignoreHTTPSErrors: true,
});

try {
    const page = await browser.newPage();
    await page.setViewport({ width: 1280, height: 720 });
    await page.goto(webUrl, {
        waitUntil: 'load',
        timeout: 30000,
    });

    page
    .waitForSelector('.price') …
Run Code Online (Sandbox Code Playgroud)

javascript node.js puppeteer puppeteer-cluster

4
推荐指数
1
解决办法
3719
查看次数

如何在异步等待中手动触发拒绝

我已经使用Java编写了Promises,并且试图在async-await中实现我的功能。如何触发将在async-await中的.catch()中捕获的reject()

在Promise中,我们有一种方法可以手动触发reject():

const doSomething = (someNumber)=>{
    return new Promise((resolve,reject)=>{
    if (someNumber > 5) {
        resolve('this resolves when someNumber is greater than 5')
    }else{
        reject('this gives a reject when someNumber is not greater than 5')
    }

    })
}

doSomething(7)
.then((infoMessage)=>{
    //this will show
    console.log(infoMessage)
})
.catch((err)=>{
    //this wont show
    console.log(errMessage)
})

doSomething(3)
.then((infoMessage)=>{
        //this wont show
    console.log(infoMessage)
})
.catch((err)=>{
        //this will show
    console.log(errMessage)
})
Run Code Online (Sandbox Code Playgroud)

javascript promise ecmascript-6

3
推荐指数
1
解决办法
92
查看次数