クエリ バーに MongoDB フィルター ドキュメントを入力すると、指定の条件に一致するドキュメントのみを表示できます。ドキュメントのクエリの詳細については、MongoDB マニュアルの「ドキュメントのクエリ」を参照してください。
クエリフィルターの設定
例
このページでは、小さなデータセットの例を使用しています。サンプル データを 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データ型 の 表現の使用をサポートしています。
クエリをクリア
クエリ バーとクエリの結果を消去するには、[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";