mongodb - 无法将 Azure Functions 连接到 MongoDB(在 azure 中创建)
问题描述
我在 azure 上有一个 MongoDB 设置,我正在尝试通过 azure 函数连接到它。
这些是我采取的步骤:
- 创建一个简单的 Azure 函数
- 在 Azure 上安装了 MongoDB 驱动程序,要安装 MongoDB Node.js 驱动程序,我转到 .scm.azurewebsites.net,然后单击“调试控制台”->“PowerShell”。
- 我导航到 D:\home\site\wwwroot 目录并单击加号图标以创建一个名为 package.json 的新文件。
我创建并保存了以下 package.json 文件。
{ "name": "nameofunction", "dependencies": { "mongodb": "3.x" } }
- 接下来,我
npm install
从外壳中跑了出来。 从 Azure Function 我应该能够连接到 MongoDB 并使用以下代码执行查询。
const mongodb = require('mongodb'); const url = "mongodb://cosmod: <PASSWORD>==@cosmodb.documents.azure.com:10255/?ssl=true&replicaSet=globaldb"; module.exports = async function (context, req) { mongodb.connect(url, function(error, client) { if (error) throw error; var dbo = client.db("mydb"); dbo.createCollection("customers", function(err, res) { if (err) throw err; context.log("Collection created!"); db.close(); }); }); };
我的代码抛出了一个Status: 500 Internal Server Error
我看代码的次数越多,我就越不明白为什么这不起作用。我在shell 中package-lock.json
运行后加载了所有依赖项。npm install
感谢您为解决此问题提供的任何帮助。
解决方案
这似乎很奇怪,我也遵循同样的方法并且能够连接到我的数据库。你能检查一下你的 cosmos connectiondb,mongo 兼容的连接字符串吗?你能从其他 mongo 客户端连接它吗
推荐阅读
- python - 在python中重新运行代码时如何将变量设置为一次
- python - 在 python 中的一系列日期中只取几个月
- azure - 从 Azure 中清除本地用户
- java - Java Mandelbrot 关于缩放和着色的可视化问题
- dart - Flutter - Flutter/Dart 中 Cupertino 选择器的小部件测试
- azure-storage - Azure Databricks 存储或数据湖
- typescript - 已安装 TypeScript,但 VS Code 或 Windows 无法识别
- node.js - Socket.io IF 和 ELSE 同时工作
- python-3.x - 即使我没有使用数组,Python3 也会触发数组错误。可能我的语法错误,但我没有找到错误
- java - Android - API 响应返回 OK,但列表为空