gpt4 book ai didi

javascript - 如何从firebase云功能连接到MongoDb Atlas

转载 作者:行者123 更新时间:2023-11-28 03:35:41 31 4
gpt4 key购买 nike

我正在尝试关注this答案是从云函数连接到 mongodb atlas 数据库。

我使用上面答案中的代码:

import { MongoClient } from 'mongodb'

const uri = 'mongodb://<USER>:<PASSWORD>@foo-shard-00-00-xxx.gcp.mongodb.net:27017,foo-shard-00-01-xxx.gcp.mongodb.net:27017,foo-shard-00-02-xxx.gcp.mongodb.net:27017/test?ssl=true&replicaSet=FOO-shard-0&authSource=admin&retryWrites=true'

let client

export default async () => {

if (client && client.isConnected()) {
console.log('DB CLIENT ALREADY CONNECTED')

} else try {
client = await MongoClient.connect(uri, { useNewUrlParser: true })
console.log('DB CLIENT RECONNECTED')
}

catch (e) {
throw e
}

return client
}

然后我有一个这样的函数:

export const myFunction = functions.region('europe-west1').https.onRequest((request, response) => {
console.log(client.isConnected());
});

当我在本地运行 firebaseserve 时,我没有看到“DB CLIENT ALREADY CONNECTED”或“DB CLIENT RECONNECTED”,这意味着未调用匿名函数。当我尝试访问 myFunction 内的 client 变量时,出现错误。

我现在正在学习 Node,所以这可能是一个简单的问题。谢谢,

最佳答案

如果您有一些代码要在 Cloud Functions 中运行,则需要调用它。不可能简单地声明或导出某些函数并期望它在不调用它的情况下运行。如果您希望某些内容在代码的全局范围内运行,请不要将其包装在函数中,或者在全局范围内调用该函数。

关于javascript - 如何从firebase云功能连接到MongoDb Atlas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57762540/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com