簡體   English   中英

如何從Firebase雲功能連接到MongoDb Atlas

[英]How to connect to MongoDb Atlas from firebase cloud functions

我試圖按照答案從雲功能連接到mongodb地圖集db。

我從上面的答案中使用此代碼:

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());
});

在本地運行firebase serve ,看不到“ DB CLIENT ALCONNECTY CONNECTED”或“ DB CLIENT RECONNECTED”,這意味着未調用匿名函數。 當我嘗試訪問myFunction內部的client變量時,出現錯誤。

我目前正在學習Node,所以這可能是一個簡單的問題。 謝謝,

如果您有一些要在Cloud Functions中運行的代碼,則需要調用它。 不能簡單地聲明或導出某些函數並期望其運行而不調用它。 如果您希望某些代碼在代碼的全局范圍內運行,請不要將其包裝在函數中,或者在全局范圍內調用該函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM