クエリ バーに MongoDB フィルター ドキュメントを入力すると、指定の条件に一致するドキュメントのみを表示できます。ドキュメントのクエリの詳細については、MongoDB マニュアルの「ドキュメントのクエリ」を参照してください。
クエリフィルターの設定
Atlas Atlasで、プロジェクトの {0 ページにGoします。GoData Explorer
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Database見出しの下のData Explorerをクリックします。
Data Explorerが表示されます。
注意
また、Clusters ページに移動し、Shortcuts 見出しの下の Data Explorer をクリックします。
例
このページでは、小さなデータセットの例を使用しています。サンプル データを MongoDB 配置にインポートするには、次の手順を実行します。
以下のドキュメントをクリップボードにコピーします。
[ { "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }, { "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } }, { "name": "Greg Powell", "email": "greg_powell@fake-mail.com", "version": 1, "scores": [ 65, 75, 80 ], "dateCreated": { "$date": "1999-02-10" } } ] Atlas では、左側のナビゲーション パネルを使用して、データをインポートするデータベースとコレクションを選択します。
[Documents] タブをクリックします。
[Add Data] をクリックし、[Insert Document] を選択します。
View を JSON(
{})に設定します。クリップボードから JSON ドキュメントをモーダルに貼り付けます。
[Insert] をクリックします。
注意
MongoDB を配置していない場合、またはより大きなサンプル データセットをクエリする場合は、サンプル データを使用して無料ティアクラスターを作成する手順について、「Atlas クラスターのサンプル データ」を参照してください。次のクエリの例では、このページで提供されているサンプル ドキュメントをフィルタリングしています。
1 つの条件による一致
次のクエリフィルターは、name の値が "Andrea Le" であるすべてのドキュメントを検索します。
{ name: "Andrea Le" }
このクエリは、次のドキュメントを返します。
{ "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }
複数条件による一致($and)
次のクエリフィルターは、scores 配列に値 75 が含まれ、name が Greg Powell であるすべてのドキュメントを検索します。
{ $and: [ { scores: 75, name: "Greg Powell" } ] }
このクエリは、次のドキュメントを返します。
{ "_id": { "$oid":"5a9427648b0beebeb69579cf" }, "name": "Greg Powell", "email": "greg_powell@fake-mail.com", "version": 1, "scores": [ 65, 75, 80 ], "dateCreated": { "$date": "1999-02-10" } }
複数の可能な条件による一致($or)
次のクエリフィルターでは、$or 演算子を使用して、version が 4、または name がAndrea Le のドキュメントを検索します。
{ $or: [ { version: 4 }, { name: "Andrea Le" } ] }
このクエリでは次のドキュメントが返されます。
[ { "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }, { "_id": { "$oid":"5e349915cebae490877d561e" }, "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } } ]
除外による一致($not)
次のクエリフィルターでは、$not 演算子を使用して、name フィールドの値が "Andrea Le" と等しくない、またはname フィールドが存在しないすべてのドキュメントを検索します。
{ name: { $not: { $eq: "Andrea Le" } } }
このクエリでは次のドキュメントが返されます。
[ { "_id": { "$oid":"5e349915cebae490877d561e" }, "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } }, { "_id": { "$oid":"5a9427648b0beebeb69579cf" }, "name": "Greg Powell", "email": "greg_powell@fake-mail.com", "version": 1, "scores": [ 65, 75, 80 ], "dateCreated": { "$date": "1999-02-10" } } ]
Tip
論理クエリ演算子の全リストについては、「論理クエリ演算子」を参照してください。
比較演算子による一致
次のクエリフィルターでは、$lte 演算子を使用して、version が 4 以下であるすべてのドキュメントを検索します。
{ version: { $lte: 4 } }
このクエリでは次のドキュメントが返されます。
[ { "_id": { "$oid":"5e349915cebae490877d561e" }, "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } }, { "_id": { "$oid":"5a9427648b0beebeb69579cf" }, "name": "Greg Powell", "email": "greg_powell@fake-mail.com", "version": 1, "scores": [ 65, 75, 80 ], "dateCreated": { "$date": "1999-02-10" } } ]
Tip
比較演算子の全リストについては、「比較クエリ演算子」を参照してください。
日付による一致
次のクエリフィルターでは、$gt 演算子と Date() メソッドを使用して、dateCreated フィールドの値が 2000 年 6 月 22 日以降であるすべてのドキュメントを検索します。
{ dateCreated: { $gt: new Date('2000-06-22') } }
このクエリでは次のドキュメントが返されます。
[ { "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }, { "_id": { "$oid": "5e349915cebae490877d561e" }, "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } } ]
配列条件による一致
次のクエリフィルターでは、$elemMatch 演算子を使用して、scores 配列内の少なくとも 1 つの値が 80 より大きく、90 より小さいすべてのドキュメントを検索します。
{ scores: { $elemMatch: { $gt: 80, $lt: 90 } } }
scores 配列の値の 1 つが 85 であるため、クエリは次のドキュメントを返します。
{ "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }
その他のクエリの例については、MongoDB マニュアルの「クエリ ドキュメント」を参照してください。
Substring による一致
次のクエリフィルターでは、$regex 演算子を使用して、email の値に "andrea_le" という用語が含まれるすべてのドキュメントを検索します。
{ email: { $regex: "andrea_le" } }
このクエリは、次のドキュメントを返します。
{ "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }
埋め込みフィールドによる一致
次のクエリフィルターで、school.name サブフィールドが「Northwestern」であるドキュメントが検索されます。
{ "school.name": "Northwestern" }
このクエリは、次のドキュメントを返します。
{ "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }
その他のクエリの例については、MongoDB マニュアルの「クエリ ドキュメント」を参照してください。
クエリ バーでサポートされているデータ型
Atlas は、Filter MongoDB拡張JSONmongosh BSONデータ型 の 表現の使用をサポートしています。
例
次のフィルターは、start_date が BSON の Date 2017-05-01 より後のドキュメントを返します。
{ "start_date": {$gt: new Date('2017-05-01')} }
start_date と $gt 比較演算子の両方に Date 型を指定すると、Atlas は greater
than 比較を時系列で実行し、2017-05-01 より後の start_date を持つドキュメントを返します。
Date 型指定がない場合、Atlas は 、値を時系列で比較するのではなく 、start_dates を文字列として 辞書編集順 に比較します。
クエリをクリア
クエリ バーとクエリの結果を消去するには、[Reset] をクリックします。
Atlas クエリとMongoDBクエリおよびSQLクエリの比較
$filter は、SQL の SELECT ステートメントでは WHERE 句に対応します。
例
3,235 件の記事があります。Joe Bloggs が書いた記事をすべて見ようとしています。
- Atlas フィルター オプション
{ author : { $eq : "Joe Bloggs" } } - MongoDB 集計
db.article.aggregate( { $match: { "author": "Joe Bloggs" } } ) - SQL
SELECT * FROM article WHERE author = "Joe Bloggs";
