CRUD
Inladen van de JSON data
import { Collection, MongoClient } from "mongodb";
import dotenv from "dotenv";
import { User } from "./types";
dotenv.config();
export const client = new MongoClient(process.env.MONGODB_URI || "mongodb://localhost:27017");
export const collection : Collection<User> = client.db("exercises").collection<User>("users");
export async function getUsers() {
return await collection.find({}).toArray();
}
async function exit() {
try {
await client.close();
console.log("Disconnected from database");
} catch (error) {
console.error(error);
}
process.exit(0);
}
export async function loadUsersFromApi() {
const users : User[] = await getUsers();
if (users.length == 0) {
console.log("Database is empty, loading users from API")
const response = await fetch("https://jsonplaceholder.typicode.com/users");
const users : User[] = await response.json();
await collection.insertMany(users);
}
}
export async function connect() {
try {
await client.connect();
await loadUsersFromApi();
console.log("Connected to database");
process.on("SIGINT", exit);
} catch (error) {
console.error(error);
}
}Lezen van de data (READ)
Toevoegen van data (CREATE)
Delete van data (DELETE)
Updaten van data (UPDATE)
Laatst bijgewerkt