我正在尝试使用mongodb查询mongodb简单的findOne。 Cloudflare工作者可以提供10毫秒的CPU时间,但是在预览/发布抛出错误期间
我尝试安装这些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
答案 0 :(得分:3)
当前,Cloudflare Workers不支持原始TCP / UDP,仅支持HTTP / HTTPS。因此,您只能连接到提供HTTP(S)接口的数据库。 MongoDB的协议不是基于HTTP的,因此您需要找到可以放在其前面的某种HTTP API代理。 (还请注意,Cloudflare Workers并非基于Node.js,因此,通常,使用Node的系统API的Node模块将无法工作。)