Skip to content

Commit 79e163a

Browse files
feat: add mongodb lib
1 parent 47c95f3 commit 79e163a

File tree

6 files changed

+7721
-5360
lines changed

6 files changed

+7721
-5360
lines changed

Diff for: .env

+3-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
API_KEY=xx_xxx_xxxxxxx-xxxx-xxxx-xxxxxxxxxx
1+
API_KEY=sk_live_c5a297ee-11b8-49cb-87e6-dc2cf55e88fc
2+
MONGODB_URI=mongodb+srv://licenka:[email protected]/?retryWrites=true&w=majority
3+
DB_NAME=licenka

Diff for: lib/mongodb.js

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import { MongoClient } from 'mongodb';
2+
3+
const MONGODB_URI = process.env.MONGODB_URI;
4+
const MONGODB_DB = process.env.DB_NAME;
5+
6+
if (!MONGODB_URI) {
7+
throw new Error('Define the MONGODB_URI environmental variable');
8+
}
9+
10+
if (!MONGODB_DB) {
11+
throw new Error('Define the MONGODB_DB environmental variable');
12+
}
13+
14+
let cachedClient = null;
15+
let cachedDb = null;
16+
17+
export async function connectToDatabase() {
18+
if (cachedClient && cachedDb) {
19+
return {
20+
client: cachedClient,
21+
db: cachedDb,
22+
};
23+
}
24+
25+
const opts = {
26+
useNewUrlParser: true,
27+
useUnifiedTopology: true,
28+
};
29+
30+
let client = new MongoClient(MONGODB_URI, opts);
31+
await client.connect();
32+
let db = client.db(MONGODB_DB);
33+
34+
cachedClient = client;
35+
cachedDb = db;
36+
37+
return {
38+
client: cachedClient,
39+
db: cachedDb,
40+
};
41+
}

0 commit comments

Comments
 (0)