loader image

bubbleでAND検索とOR検索を実装する

WANTO OR検索記事サムネイル

bubbleでプロダクト開発を行っておりますWANTOの西坂優希(@nishiyuki0501)と申します。

bubbleでデータを絞る際に用いる「Do a search for」。条件を複数指定することで表示するリストを絞ることができる機能です。そして、この機能は一覧表示に用いることが多いかと思います。

そんなbubbleユーザーの皆様が使っている中でこうした悩みはございませんでしょうか?

条件を「または」にして複数の条件のうち少なくともいずれか一つを満たすものを抽出したい。

通常、bubbleのDo a search forの設定ではAND検索になります。しかし、状況によってはOR検索にして抽出するデータの制限を和らげたいケースも存在します。この記事ではbubbleでOR検索を実装する方法について紹介いたします。

AND検索とOR検索の違い

AND検索とは「完全一致検索」のことを指します。つまり、設定した条件全てに当てはまるデータを抽出します。一方でOR検索とは「部分一致検索」のことを指します。こちらは設定した条件のいずれか一つでも当てはまるものがあれば抽出します。

ANDとOR検索の違い
bubble OR検索

Do a search forの特徴

bubbleでデータに条件を指定して絞る際には「Do a search for」という構文を用います。リピーティンググループ(一覧表示するためのエレメント)のData sourceは表示するデータの引用元を指定する必要があります。ここでDo a search forはよく使われます。

今回、User(ユーザー)を一覧表示する画面を作ります。Data sourceを「Do a search for」に設定するとデータを指定する画面が横に現れます。「Add a new constraint」から条件を追加していきます。

今回の場合は「学年が中学一年生」かつ「年齢が16歳」という条件を指定したことになります。このように、Do a search forを使うと条件全てを含む検索を実装することができます。

bubble do a search forの画面
「学年が中学一年生」かつ「年齢が16歳」と条件が指定されたことになる
bubble 表示結果
学年が「中学1年生」と「年齢が16歳」が両方当てはまるデータが表示された

bubbleでOR検索の実装

bubbleでOR検索を実装するための一つの方法として。「Do a search for」と「filtered」を組み合わせることで実装が可能になります。

Do a search forは前述の通り「かつ」を意味するAND検索の条件を指定することになります。一方でfilteredの中には「Advanced…」という指定方法があります。このAdvanceでは複数の条件をORで結ぶことが可能です。(ANDでも可能です)

bubble OR検索
filteredの設定
filteredの中にある「Advanced…」の設定

filteredは親元(Do a search for)で絞られた条件に付け加える設定です。そのため、「Search for “データベース名”」にMoreをクリックすると「filtered」が見つかります。設定後はList filterの設定画面が現れます。

List filterの画面を開くと「Add a new constraint」から「Advanced…」を選択し、「This “データベース名”」を選択してください。今回の場合はUserというデータベースにフィルターをかけておりますのでThis Userとなっております。あとは任意の条件を指定してください。

条件一つを指定して、Moreを押すと「and」や「or」という接続するための構文が表示されますのでこの中から「or」を選択するとOR検索が可能になります。

bubble OR検索
filteredの設定詳細
Userの「年齢が16」または「学年が中学1年生」となるようにORで繋ぐ
bubble OR検索
filteredの表示結果
学年が「中学1年生」または「年齢が16歳」のデータが表示された

最後に

アプリケーションを作る際に必ず必要になるデータの管理について、AND検索とOR検索を使い分けることでより高度なデータ表示や検索が可能になります。

bubbleでの開発や技術的なご相談等はHPのお問い合わせまたはX(旧Twitter)のDMにてお気軽にご相談くださいませ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です