[javascript] 바이너리 데이터를 이용한 데이터베이스 처리하기

이번에는 자바스크립트를 사용하여 바이너리 데이터를 데이터베이스에 저장하고 검색하는 방법에 대해 알아보겠습니다.

바이너리 데이터란 무엇인가요?

바이너리 데이터는 0과 1로 구성된 이진 형식의 데이터를 말합니다. 텍스트가 아닌 이미지, 음악 파일, 비디오, 애플리케이션 실행 파일 등이 포함됩니다.

바이너리 데이터를 데이터베이스에 저장하기

대부분의 데이터베이스 시스템은 바이너리 데이터를 저장하고 검색할 수 있는 기능을 제공합니다. 사용 중인 데이터베이스에 따라 다소 차이가 있을 수 있으니 해당 데이터베이스의 문서를 참고하세요.

아래는 MongoDB에서 바이너리 데이터를 저장하는 예제입니다.

const fs = require('fs');
const mongodb = require('mongodb').MongoClient;

mongodb.connect('mongodb://localhost:27017', (err, client) => {
  const db = client.db('mydb');
  const collection = db.collection('files');

  fs.readFile('path/to/binary/file.jpg', (err, data) => {
    if (err) throw err;

    collection.insertOne({ filename: 'file.jpg', data: data }, (err, result) => {
      if (err) throw err;
      console.log('File saved to database');
    });
  });
});

바이너리 데이터를 데이터베이스에서 검색하기

위에서 저장한 바이너리 데이터를 검색하려면 적절한 쿼리를 작성해야 합니다. 다음은 MongoDB에서 바이너리 데이터를 검색하는 예제입니다.

collection.findOne({ filename: 'file.jpg' }, (err, item) => {
  if (err) throw err;

  fs.writeFile('path/to/save/file.jpg', item.data, (err) => {
    if (err) throw err;
    console.log('File retrieved from database');
  });
});

결론

이상으로, 바이너리 데이터를 데이터베이스에 저장하고 검색하는 방법에 대해 알아보았습니다. 이를 응용하여 웹 애플리케이션에서 이미지나 동영상과 같은 바이너리 데이터를 효과적으로 관리할 수 있습니다.

참고 문헌: MongoDB Node.js Driver Documentation