Код ошибки: 10021, сообщение об ошибке: «Uncaught TypeError: n (...). Соединение не является функцией» - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь использовать пакет mongoose с работниками Cloudflare. После веб-пакета При развертывании с использованием безсерверного развертывания я получаю это сообщение об ошибке.

Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: deploying route: example.com/api
Serverless: ❌  Fatal Error, Script Not Deployed!
Serverless: --> Error Code:10021
--> Error Message: "Uncaught TypeError: n(...).connect is not a function
at line 950
at line 1 in n
at line 1
at line 1
"
Serverless: ✅  Routes Deployed 

On Line 950

n(83).connect("mongodb://localhost/db",........

мой основной код

addEventListener("fetch", event => {
  event.respondWith(handleRequest(event.request));
});
const mongoose = require("mongoose");
mongoose.connect("mongodb://localhost/db", {
  useNewUrlParser: true
});

async function handleRequest(r) {
  return new Response(r);
}

Я тоже попробовал пакет mongodb. Показывает ту же проблему.

1 Ответ

0 голосов
/ 06 марта 2019

Эти пакеты предполагают, что вы работаете с Node.js и используют API-интерфейсы Node.js. Работники Cloudflare не основаны на Node.js. Вместо этого он реализует подмножество API-интерфейсов веб-платформы, особенно API Service Workers.

В настоящее время вы не можете создать TCP-соединение с Worker, поэтому вы не можете подключиться напрямую к серверу Mongo. Вместо этого вам нужно будет сформулировать запросы к базе данных как запросы HTTP с использованием fetch() API.

...