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」という名前のノードからのランダムな製品。ここでは 2 つのアプローチを示します:

従来のアプローチ:

これには、「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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!