特定の値をフェッチするために$lte、$ in、$ notを使用してMongoDBに値をクエリする方法は?
まず、ドキュメントを使用してコレクションを作成しましょう-
> db.demo130.insertOne(
... {
...
... "PlayerDetails":[{Score:56},{Score:78},{Score:89},{Score:97}]
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e3065bf68e7f832db1a7f6d")
}
> db.demo130.insertOne(
... {
...
... "PlayerDetails":[{Score:45},{Score:56}]
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e3065c068e7f832db1a7f6e")
} find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo130.find();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e3065bf68e7f832db1a7f6d"), "PlayerDetails" : [ { "Score" : 56 }, { "Score" : 78 }, { "Score" : 89 }, { "Score" : 97 } ] }
{ "_id" : ObjectId("5e3065c068e7f832db1a7f6e"), "PlayerDetails" : [ { "Score" : 45 }, { "Score" : 56 } ] } 以下はフェッチするクエリです-
> db.demo130.find({
... "PlayerDetails.Score": {
... "$eq": 56,
... "$not": { "$gt": 56}
... }
... }) これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e3065c068e7f832db1a7f6e"), "PlayerDetails" : [ { "Score" : 45 }, { "Score" : 56 } ] } -
特定の数より大きいフィールド値を持つMongoDBドキュメントを照合し、それらをフェッチしますか?
一致させるには、MongoDBで$matchを使用します。特定の数値より大きい値の場合は、$gtを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo730.insertOne({"Name" : "Chris", "Marks" : 33 }); { "acknowledged" : true, "insertedId" : ObjectId("5eac54cd56e85a39df5f6339&
-
MongoDBで配列をクエリして、特定の値をフェッチします
配列から特定の値をフェッチするには、$ projectとともにaggregate()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo761.insertOne( ... { ... "details": [ ... { ... "student": { ... &nb