如何在 MongoDB 中使用 Cloudflare worker 进行查询?

How do I query in MongoDB with Cloudflare workers?

我正在尝试使用 mongodb 查询 mongodb 简单的 findOne。 Cloudflare 工作人员给了 10 毫秒 CPU 时间,但在 preview/publish 期间抛出错误

我试过安装这些 npm 模块

npm i mongodb, mongodb-core, dgram, fs
var MongoClient = require('mongodb').MongoClient;
try{
    var db = await MongoClient.connect('mongodb+srv://mongoURL',{ useNewUrlParser: true,useUnifiedTopology: true });
    var dbo = db.db("test");
    var result = await dbo.collection("testcollection").findOne()
    const init = {
        status: 200,
        headers: { "Access-Control-Allow-Origin": "*", 'content-type': 'application/json' },
    }
    return new Response(JSON.stringify(result), init)
} catch(e) { console.log(e); return new Response(JSON.stringify(result), init)  }

此处抛出错误 - https://pastebin.com/xMKKjdZF

目前,Cloudflare Workers 不支持原始 TCP/UDP,仅支持 HTTP/HTTPS。因此,您只能连接到提供 HTTP(S) 接口的数据库。 MongoDB 的协议不是基于 HTTP 的,因此您需要找到某种可以放在它前面的 HTTP API 代理。 (另请注意,Cloudflare Workers 并非基于 Node.js,因此通常使用 Node 系统 API 的 Node 模块将无法工作。)