ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ MongoDB ] 기본 CRUD
    Computer Science/데이터베이스 2023. 5. 11. 20:13
    반응형
    import { MongoClient } from "mongodb";
    
    export async function insert(dbName, collectionName, data) {
      //create 생성
      const client = new MongoClient(process.env.URL);
    
      try {
        //client 연결
        await client.connect();
        
        //database, collection 설정
        const database = client.db(dbName);
        const collection = database.collection(collectionName);
    
        //
        try {
          await collection.insertMany([data]);
          console.log("insertion complete");
        } catch (err) {
          console.error(`ERROR: ${err}`);
        }
      } catch (err) {
        console.log("Error occurs when connecting: ", err);
      } finally {
        //연결 해지
        await client.close();
      }
    }
    
    export async function read(dbName, collectionName, findQuery) {
      const client = new MongoClient(process.env.URL);
      
      try {
        await client.connect();
    
        const database = client.db(dbName);
        const collection = database.collection(collectionName);
    
        try {
          const cursor = await collection.find(findQuery);
          console.log(cursor);
        } catch (err) {
          console.error(`ERROR: ${err}`);
        }
      } catch (err) {
        console.log("Error occurs when connecting: ", err);
      } finally {
        client.close();
      }
    }
    
    export async function update(dbName, collectionName, findQuery, updateDoc) {
      const client = new MongoClient(process.env.URL);
    
      try {
        await client.connect();
    
        const database = client.db(dbName);
        const collection = database.collection(collectionName);
    
        try {
          await collection.findOneAndUpdate(findQuery, updateDoc, {
            returnOriginal: false,
          });
        } catch (err) {
          console.error(`ERROR: ${err}`);
        }
      } catch (err) {
        console.log("Error occurs when connecting: ", err);
      } finally {
        client.close();
      }
    }
    
    export async function remove(dbName, collectionName, deleteQuery) {
      const client = new MongoClient(process.env.URL);
    
      try {
        await client.connect();
    
        const database = client.db(dbName);
        const collection = database.collection(collectionName);
        try {
          await collection.deleteMany(deleteQuery);
        } catch (err) {
          console.error(
            `Something went wrong trying to delete documents: ${err}\n`
          );
        }
      } catch (err) {
        console.log("Error occurs when connecting: ", err);
      } finally {
        client.close();
      }
    }
    반응형

    댓글

Designed by Tistory.