如何将Google表格与MongoDB连接

时间:2019-04-10 02:02:49

标签: python mongodb google-sheets

我有一个Google表单,可将​​响应转储到Google表格文件中。我需要将这些响应传递到MongoDB。有人可以给我一些我应该从哪里开始的信息吗?我希望将响应从Google表格中获取并放入MongoDB中。我正在寻找在Python中执行此操作的方法(尽管我是新手)。我从来没有做过这样的任务,我非常渴望征服它!感谢您提供的任何见解!

3 个答案:

答案 0 :(得分:1)

  

我需要将这些响应传递到MongoDB

如果MongoDB托管在MongoDB Atlas中,则可以利用MongoDB Stitch将数据从Google Sheets保存到MongoDB。

请参阅:

答案 1 :(得分:0)

如果您下载Google表格文件并使用名为openpyxl的库,则可以通过Python脚本直接与.xlsx文件进行交互。

从那里,您应该能够将电子表格中的行转换为Python字典对象,并使用pymongo等将这些对象通过管道传递到MongoDB中。

听起来像一个有用的工具!祝你好运。

答案 2 :(得分:0)

领域就是答案。使用 Realm,您可以创建 Webhook。然后向 webhook 添加一些 javascript 代码,以决定当请求命中 webhook 时如何响应。

一个简单的查询 webhook 看起来像这样

exports = async function(payload, response) { 
  
  // Connect the context with atlas
  const mongodb = context.services.get("mongodb-atlas");
    
  // connect with db and collection
  const database = mongodb.db('database_name');
  const collection = database.collection('collection_name')
  
  const query = {} // Add your query here.

  const result = await collection.find(query)
  return result;
  
};

然后从电子表格中,您可以执行 UrlFetchApp 查询以将所有数据导入电子表格。

const response = UrlFetchApp.fetch(
        'webhookURL', 
        {
          'headers': {
            'Content-Type': 'application/json',
          },
          "muteHttpExceptions": true
        }
      );
Logger.log(response)

有一个名为 mongoSheet 的 Google 工作表插件,可以从电子表格中执行所有 CRUD 操作。该插件还与所有操作的 webhook 端点连接。在此处查看文档 https://www.mongosheet.com/docs/getting-started