ホームページ >ウェブフロントエンド >jsチュートリアル >Firebase で SQL LIKE オペレーションを実行するにはどうすればよいですか?
Firebase での SQL LIKE オペレーションの実行
質問:
Firebase のデータ構造リレーショナル データベースに似ていますが、ワイルドカード文字を使用して SQL LIKE 操作を実行するにはどうすればよいですか? (%) は文字列内のパターンと一致するために使用されますか?
回答:
Firebase は現在、SQL LIKE 操作をネイティブにサポートしていません。同様の機能を実現するには、サードパーティ ツールを利用するか、独自のソリューションを実装できます。
オプション 1: サードパーティ ツール
1 つのアプローチは、Firebase をAlgolia や ElasticSearch などのサードパーティの検索エンジン。これらのサービスは、ワイルドカード一致などの強力な検索機能を提供します。 Firebase を Algolia または ElasticSearch にリンクすると、これらの特殊なプラットフォームに検索機能を委任できます。
オプション 2: カスタム ソリューション
独自のソリューションを構築したい場合、2 つのステップを実装できます。アプローチ:
このアプローチを説明するために、product を含む「products」という名前のドキュメントを含む Firebase データ構造を考えてみましょう。 names:
products:{ product1:{ name:"chocolate", } product2:{ name:"chochocho", } }
「cho」の LIKE 検索を実行するには、次のようにします。
変更の監視とインデックス作成:
var db = getFirestore(); db.collection("products").onSnapshot(async (qs) => { qs.docChanges().forEach(async (change) => { const doc = change.doc; // Index the product name in a search engine here }); });
検索:
// Search engine query results = esClient.search({ query: { match: { name: 'cho' } } }); // Process results results.then(res => { const hits = res.hits.hits; hits.forEach(hit => { console.log(hit['_source'].name); }); });
これらの手法を採用することで、データ ストレージに Firebase の強みを活用し、それを補完することができます。 SQL LIKE 操作などの高度な検索機能のためのサードパーティ サービスまたはカスタム ソリューション。
以上がFirebase で SQL LIKE オペレーションを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。