単一のフィールドの値をフェッチするためにMongoDBに$addToSetを実装できませんか?
$ addToSet演算子は、値がすでに存在しない限り、配列に値を追加します。存在する場合、$addToSetはその配列に何もしません。
ドキュメントを使用してコレクションを作成しましょう-
> db.demo533.insertOne({"ProjectName":"Online Hospital Management"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8b4cfaef4dcbee04fbbbfc") } > db.demo533.insertOne({"ProjectName":"Online Library Management"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8b4d02ef4dcbee04fbbbfd") } > db.demo533.insertOne({"ProjectName":"Online Hospital Management"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8b4d04ef4dcbee04fbbbfe") } > db.demo533.insertOne({"ProjectName":"Online Customer Tracker"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8b4d0def4dcbee04fbbbff") }
find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo533.find();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e8b4cfaef4dcbee04fbbbfc"), "ProjectName" : "Online Hospital Management" } { "_id" : ObjectId("5e8b4d02ef4dcbee04fbbbfd"), "ProjectName" : "Online Library Management" } { "_id" : ObjectId("5e8b4d04ef4dcbee04fbbbfe"), "ProjectName" : "Online Hospital Management" } { "_id" : ObjectId("5e8b4d0def4dcbee04fbbbff"), "ProjectName" : "Online Customer Tracker" }
以下は、$ addToSetを実装し、フィールドProjectName-
の値をフェッチするためのクエリです。> db.demo533.aggregate( ... [ ... { ... $group: ... { ... _id:null, ... SetOfProject: { $addToSet: "$ProjectName" } ... } ... } ... ] ... )
これにより、次の出力が生成されます-
{ "_id" : null, "SetOfProject" : [ "Online Customer Tracker", "Online Library Management", "Online Hospital Management" ] }
-
特定のフィールド値を持つドキュメントをフェッチするためのMongoDB集約?
これには、aggregate()を使用します。値が「21」のフィールド「Age」を持つドキュメントをフェッチする必要があるとします。 ドキュメントを使用してコレクションを作成しましょう- > db.demo685.insertOne( ... { ... "details": ... [ ... { ...
-
フィールドの戻り値を制限するMongoDBクエリ?
これには、$sliceを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo594.insertOne( ... { ... id:1, ... details:[ ... {Name:"Chris",Age:21}, ... {Name:"Bob",Age:20}, ...