Firestore DB 데이터를 읽는 기본적인 방법
Copilot을 이용하여 Firestore DB 데이터를 읽는 코드 만들기
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>데이타 불러오기</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
</head>
<body>
<script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-firestore.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-storage.js"></script>
<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
<div class="container">
<div id="productList" class="m-3"></div>
</div>
<script>
const firebaseConfig = { 사용자와 프로젝트에 따라 Firebase에서 주어지는 정보
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
var db = firebase.firestore();
var storage = firebase.storage();
$(document).ready(function() {
// Firestore에서 데이터를 읽어와 화면에 표시합니다.
db.collection("products").get().then((querySnapshot) => {
querySnapshot.forEach((doc) => {
var data = doc.data();
var date = new Date(data.날짜.seconds * 1000).toLocaleString(); // 날짜를 YYYY/MM/DD hh:mm:ss 형식으로 변환합니다.
var html = `
<div class="card mb-3" style="max-width: 540px;">
<div class="row g-0">
<div class="col-md-4">
<img src="${data.사진}" alt="${data.상품명}" style="width: 150px; height: 150px;"> <!-- 이미지 크기를 조절합니다. -->
</div>
<div class="col-md-8">
<div class="card-body">
<h5 class="card-title">${data.상품명}</h5>
<p class="card-text">${data.상품설명}</p>
<p class="card-text"><small class="text-muted">${data.가격}</small></p> <!-- "원" 부분을 제거합니다. -->
<p class="card-text"><small class="text-muted">${date}</small></p> <!-- 등록 날짜를 표시합니다. -->
</div>
</div>
</div>
</div>
`;
$('#productList').append(html);
});
});
});
</script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
</body>
</html>

