> Java > java지도 시간 > 본문

Node.js의 Firebase 데이터베이스에서 무작위 제품을 선택하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-10-28 20:10:02
원래의
151명이 탐색했습니다.

How to Select a Random Product from a Firebase Database in Node.js?

Node.js의 Firebase 데이터베이스에서 고유한 무작위 제품을 검색하는 방법:

이 맥락에서 우리는 단일 제품을 검색하는 것을 목표로 합니다. , Firebase 데이터베이스에 있는 'products'라는 노드의 임의 제품입니다. 다음은 두 가지 접근 방식입니다.

기본 접근 방식:

여기에는 "products" 노드에서 모든 제품 기록을 검색하고 임의의 항목을 선택하는 작업이 포함됩니다.

const rootRef = firebase.database().ref();
const productsRef = rootRef.child("products");

// Listen for a single snapshot of the products node
productsRef.once('value').then((snapshot) => {
  // Get all product names
  const productNames = [];
  snapshot.forEach((child) => {
    productNames.push(child.val().name);
  });

  // Select a random product name
  const randomProductName = productNames[Math.floor(Math.random() * productNames.length)];

  // Get the specific product data using the random name
  rootRef.child(`products/${randomProductName}`).once('value').then((product) => {
    console.log(product.val());
  });
});
로그인 후 복사

비정규화된 접근 방식:

이 기술에서는 모든 제품의 ID만 포함하는 "productIds"라는 별도의 노드를 만듭니다. 이를 통해 모든 제품 기록을 가져오지 않고도 임의의 제품 ID를 검색할 수 있습니다.

const rootRef = firebase.database().ref();
const productIdsRef = rootRef.child("productIds");

// Listen for a single snapshot of the productIds node
productIdsRef.once('value').then((snapshot) => {
  // Get all product IDs
  const productIds = Object.keys(snapshot.val());

  // Select a random product ID
  const randomProductId = productIds[Math.floor(Math.random() * productIds.length)];

  // Get the specific product data using the random ID
  rootRef.child(`products/${randomProductId}`).once('value').then((product) => {
    console.log(product.val());
  });
});
로그인 후 복사

위 내용은 Node.js의 Firebase 데이터베이스에서 무작위 제품을 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!