【问题标题】:Issue connecting MongoDB cloud database to Google Sheets将 MongoDB 云数据库连接到 Google 表格的问题
【发布时间】:2023-01-24 03:08:40
【问题描述】:

我有一个关于我正在处理的 nodejs 链接抓取机器人的问题。机器人抓取一个 url 并将其添加到 Mongodb 数据库中。

我想用机器人抓取的每个链接的日期/url 自动填充一个 google 表格文件。

该机器人工作正常,并将日期/url 发布到 Mongodb 数据库。我按照本指南访问 T,https://www.lido.app/tutorials/connect-mongodb-atlas-database-to-google-sheets-via-google-apps-script,在运行/调试我的代码时遇到此错误。

这让我相信我从 Mongodb 云复制粘贴的 URL 端点有问题?我完全按照指南进行操作,没有其他链接可以复制,所以我很确定这是正确的。语法有问题吗?

谢谢你的帮助,我很感激! :)

错误:第 77 行 | const response = UrlFetchApp.fetch(findEndpoint, 选项);

我输入到 google sheets apps 脚本的整个代码如下...

const findEndpoint = 'MY MONGODB URL ENDPOINT';

const clusterName = "Cluster0"

const apikey = "MY API KEY"

 

function lookupInspection() {

  const activeSheetsApp = SpreadsheetApp.getActiveSpreadsheet();

  const sheet = activeSheetsApp.getSheets()[0];

  const partname = sheet.getRange("B1").getValue();

  const limit = sheet.getRange("D1").getValue();

  const skips = sheet.getRange("F1").getValue();

  const orderopt = sheet.getRange("H1").getValue();

  var orderr = 0;

 

 sheet.getRange(`A4:I${limit+3}`).clear()

 

 

if (orderopt == "Ascending") {

        orderr=1;

    } else if (orderopt == "Descending") {

        orderr=-1;

    }

 

 //We can do operators like regular expression with the Data API

 const query = { business_name: { $regex: `${partname}`, $options: 'i' } }

 const order = { business_name: orderr }

 //We can Specify sort, limit and a projection here if we want

 const payload = {

  filter: query, sort: order, limit: limit, skip: skips,

  collection: "test", database: "posts", dataSource: clusterName

 }

 

 const options = {

  method: 'post',

  contentType: 'application/json',

  payload: JSON.stringify(payload),

  headers: { "api-key": apikey }

 };

 

 const response = UrlFetchApp.fetch(findEndpoint, options);

 const documents = JSON.parse(response.getContentText()).documents

 // logUsage(partname, documents.length, apikey); //Log Usage

 for (d = 1; d <= documents.length; d++) {

  let doc = documents[d - 1]

  fields = [[doc.business_name, doc.date, doc.result, doc.sector, 

       doc.certificate_number, doc.address.number,

  doc.address.street, doc.address.city, doc.address.zip]]

  let row = d + 3

  sheet.getRange(`A${row}:I${row}`).setValues(fields)

 }

}

enter image description here

【问题讨论】:

    标签: javascript mongodb google-sheets


    【解决方案1】:

    你有没有找到这个问题的答案?

    【讨论】:

    猜你喜欢
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 2022-11-23
    相关资源
    最近更新 更多