Как правильно обрабатывать подключение и закрытие клиента MongoDB из NodeJS (без использования Mon goose!)? - PullRequest
0 голосов
/ 18 июня 2020
export const client = new MongoClient(
  process.env.ATLAS_URI,
  // TODO: Figure out what this is and why it's needed to turn off deprecation warning
  {
    useUnifiedTopology: true,
  }
);

Следуя этому руководству , все имеет смысл ... но она просто делает один «звонок», а затем close().

Мне нужно продолжать повторять звонки:

export const getAllProducts = async () => {
  try {
    await client.connect();
    const cursor = await client.db("products").collection("data").find();
    return await cursor.toArray();
  } catch (err) {
    throw new Error(err);
  } finally {
    await client.close();
  }
};

Первый звонок в порядке. После этого: Error: MongoError: Topology is closed, please connect

Я, честно говоря, не совсем понимаю, что означает Topology, но, очевидно, это close(), который вносит свой вклад в проблему.

Это не имеет смысла что я установил new MongoClient, а ATLAS_URI имеет ли «имя базы данных» ... так зачем мне подключаться, укажите это снова?

В любом случае, основной часть моих ❓ стендов: Я просто держу отдельный процесс, а не close? Должен ли я каждый раз начинать заново с нового MongoClient? ?

...