AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

クエリ ドキュメント

db.collection.find()コレクション内のドキュメントをクエリするには、 MongoDB Shell で メソッドを使用します。

このページの例えは、 MongoDBサンプルデータセットを参照。配置を設定し、クラスターにサンプルデータを入力する方法の詳細については、 「 MongoDBの使用 」を参照してください。

コレクション内のすべてのドキュメントを読み取るには、空のドキュメントをクエリフィルター パラメーターとして find メソッドに渡します。クエリフィルター パラメーターは、選択条件を決定します。

例

sample_mflix.moviesコレクションからすべてのドキュメントを返すには以下を行います。

use sample_mflix
db.movies.find()

この操作は、次の SQL 文と同等です。

SELECT * FROM movies

等価条件に一致するドキュメントを選択するには、クエリフィルタードキュメントで条件を<field>:<value> ペアとして指定します。

例

sample_mflix.moviesコレクションからtitleがTitanicに等しいすべてのムービーを返すには以下を行います。

use sample_mflix
db.movies.find( { "title": "Titanic" } )

この操作は、次の SQL ステートメントに対応しています。

SELECT * FROM movies WHERE title = "Titanic"

クエリ演算子 をクエリフィルタードキュメントで使用し、より複雑な比較と評価を実行します。クエリフィルタードキュメント内のクエリ演算子の形式は次のとおりです。

{ <field1>: { <operator1>: <value1> }, ... }

例

評価がPGまたはPG-13であるすべての映画をsample_mflix.moviesコレクションから返すには以下を行います。

use sample_mflix
db.movies.find( { rated: { $in: [ "PG", "PG-13" ] } } )

この操作は、次の SQL ステートメントに対応しています。

SELECT * FROM movies WHERE rated in ("PG", "PG-13")

注意

このクエリは$or $in演算子を使用して表現できますが、同じフィールドで等価性チェックを実行する場合は、$or 演算子ではなく 演算子を使用します。

複合クエリは、コレクション内のドキュメントの複数のフィールドに条件を指定することができます。暗黙的に、論理的な AND 結合が複合クエリの各条件句を接続し、すべての条件に一致するドキュメントがコレクションから選択されます。

例

メキシコで公開されさらにIMDBの評価が7以上の映画を返すには以下を行います。

use sample_mflix
db.movies.find( { countries: "Mexico", "imdb.rating": { $gte: 7 } } )

$or演算子を使用して、各条件句を論理的なOR 結合で結合する複合クエリを指定します。これにより、クエリは、少なくとも 1 つの条件に一致するドキュメントをコレクションから選択します。

例

sample_mflix.moviesコレクションから、2010 年に公開され、さらに少なくとも 5 つの賞を受賞したか、または、 genreがDramaである映画を返すには以下を行います。

use sample_mflix
db.movies.find( {
year: 2010,
$or: [ { "awards.wins": { $gte: 5 } }, { genres: "Drama" } ]
} )

ドキュメントの読み取りの特定の動作の詳細については、 「動作」 を参照してください。

その他のクエリの例については、以下を参照してください。