特定のフィールド値に一致するMongoDBクエリ(集約フレームワーク)
特定のフィールド値を照合するには、MongoDB集計で$matchを使用します。ドキュメントを使用してコレクションを作成しましょう-
> db.demo555.insertOne({"CountryName":"US"});{
"acknowledged" : true, "insertedId" : ObjectId("5e8f21bf54b4472ed3e8e85f")
}
> db.demo555.insertOne({"CountryName":"UK"});{
"acknowledged" : true, "insertedId" : ObjectId("5e8f21c254b4472ed3e8e860")
}
> db.demo555.insertOne({"CountryName":"US"});{
"acknowledged" : true, "insertedId" : ObjectId("5e8f21c354b4472ed3e8e861")
}
> db.demo555.insertOne({"CountryName":"AUS"});{
"acknowledged" : true, "insertedId" : ObjectId("5e8f21c554b4472ed3e8e862")
}
> db.demo555.insertOne({"CountryName":"US"});{
"acknowledged" : true, "insertedId" : ObjectId("5e8f21c754b4472ed3e8e863")
} find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo555.find();
これにより、次の出力が生成されます。-
{ "_id" : ObjectId("5e8f21bf54b4472ed3e8e85f"), "CountryName" : "US" }
{ "_id" : ObjectId("5e8f21c254b4472ed3e8e860"), "CountryName" : "UK" }
{ "_id" : ObjectId("5e8f21c354b4472ed3e8e861"), "CountryName" : "US" }
{ "_id" : ObjectId("5e8f21c554b4472ed3e8e862"), "CountryName" : "AUS" }
{ "_id" : ObjectId("5e8f21c754b4472ed3e8e863"), "CountryName" : "US" } 以下は、特定のフィールド値に一致するクエリです-
> db.demo555.aggregate([
... {$match: {CountryName: 'US'}},
... {$group: {_id: null, Total: {$sum: 1}}}
... ]) これにより、次の出力が生成されます-
{ "_id" : null, "Total" : 3 } -
idがドキュメントフィールドの配列値と等しい場合に除外するMongoDBクエリ
このために、$inと一緒に$notを使用します。ドキュメントを使用してコレクションを作成しましょう- [ { id: "101", subjectid: [ "102" ] }, { id: "102", &nb
-
MongoDBで配列をクエリして、特定の値をフェッチします
配列から特定の値をフェッチするには、$ projectとともにaggregate()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo761.insertOne( ... { ... "details": [ ... { ... "student": { ... &nb