真または偽の値に基づいて検索するMongoDBクエリ
真または偽の値に基づいて検索するには、find()で$existsを使用します。同じタスクにはドット表記も必要です。
まず、ドキュメントを使用してコレクションを作成しましょう-
> db.demo367.insertOne( ... { "Id" : "102", ... "details" : [ { "Name" : "David"}, ... { "Age" : 23, "CountryName" : "UK"} ], ... "isMarried" : false } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e57e0b62ae06a1609a00ae8") } > db.demo367.insertOne( ... { "Id" : "101", ... "details" : [ { "Name" : "Chris", "Subject" : [ "MySQL" ] }, ... { "Age" : 21, "CountryName" : "US"} ], ... "isMarried" : true } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e57e0be2ae06a1609a00ae9") }
find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo367.find();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e57e0b62ae06a1609a00ae8"), "Id" : "102", "details" : [ { "Name" : "David" }, { "Age" : 23, "CountryName" : "UK" } ], "isMarried" : false } { "_id" : ObjectId("5e57e0be2ae06a1609a00ae9"), "Id" : "101", "details" : [ { "Name" : "Chris", "Subject" : [ "MySQL" ] }, { "Age" : 21, "CountryName" : "US" } ], "isMarried" : true }
以下は、$exists-
をチェックして真の偽の値に基づいて見つけるクエリです。> db.demo367.find({"details.Subject": { $exists: false}});
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e57e0b62ae06a1609a00ae8"), "Id" : "102", "details" : [ { "Name" : "David" }, { "Age" : 23, "CountryName" : "UK" } ], "isMarried" : false }
-
フィールドの戻り値を制限するMongoDBクエリ?
これには、$sliceを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo594.insertOne( ... { ... id:1, ... details:[ ... {Name:"Chris",Age:21}, ... {Name:"Bob",Age:20}, ...
-
フィールド値で「@email」のような文字列を検索するMongoDBクエリ
MongoDB find()を使用して電子メール文字列を検索します。ドキュメントを使用してコレクションを作成しましょう- > db.demo727.insertOne({UserId:"[email protected]"}); { "acknowledged" : true, "insertedId" : ObjectId("5eab375f43417811278f5898") } > db.demo727.insertOne({UserId:"