MongoDB-এ একাধিক শর্ত ($and) মিলিয়ে ডকুমেন্ট ফিল্টার করে শুধু একটি নির্দিষ্ট ফিল্ড (প্রজেকশন) রিটার্ন করা যায়।
নমুনা ডেটা তৈরি
> db.selectingASingleFieldDemo.insertOne({"StudentFirstName":"John","StudentAge":23,"StudentCountryName":"US"});
{ "acknowledged": true, "insertedId": ObjectId("5cd547142cba06f46efe9f02") }
> db.selectingASingleFieldDemo.insertOne({"StudentFirstName":"Carol","StudentAge":21,"StudentCountryName":"UK"});
{ "acknowledged": true, "insertedId": ObjectId("5cd5471f2cba06f46efe9f03") }
> db.selectingASingleFieldDemo.insertOne({"StudentFirstName":"David","StudentAge":24,"StudentCountryName":"AUS"});
{ "acknowledged": true, "insertedId": ObjectId("5cd5472c2cba06f46efe9f04") }
> db.selectingASingleFieldDemo.insertOne({"StudentFirstName":"Robert","StudentAge":26,"StudentCountryName":"AUS"});
{ "acknowledged": true, "insertedId": ObjectId("5cd548382cba06f46efe9f05") }
সব ডকুমেন্ট দেখুন
> db.selectingASingleFieldDemo.find().pretty();আউটপুট:
{
"_id": ObjectId("5cd547142cba06f46efe9f02"),
"StudentFirstName": "John",
"StudentAge": 23,
"StudentCountryName": "US"
}
{
"_id": ObjectId("5cd5471f2cba06f46efe9f03"),
"StudentFirstName": "Carol",
"StudentAge": 21,
"StudentCountryName": "UK"
}
{
"_id": ObjectId("5cd5472c2cba06f46efe9f04"),
"StudentFirstName": "David",
"StudentAge": 24,
"StudentCountryName": "AUS"
}
{
"_id": ObjectId("5cd548382cba06f46efe9f05"),
"StudentFirstName": "Robert",
"StudentAge": 26,
"StudentCountryName": "AUS"
}
$and দিয়ে শর্ত: Age > 21 AND CountryName = "AUS", প্রজেকশন: শুধু StudentFirstName
> db.selectingASingleFieldDemo.find(
{ $and: [
{StudentAge: {$gt: 21}},
{"StudentCountryName": "AUS"}
]
},
{StudentFirstName: 1, _id: 0}
);
আউটপুট (David এবং Robert):
{ "StudentFirstName": "David" }
{ "StudentFirstName": "Robert" }
ব্যাখ্যা:
$and: একাধিক শর্ত একসাথে মেটাতে হয়।StudentAge: {$gt: 21}: বয়স ২১-এর বড়।StudentCountryName: "AUS": দেশ AUS।{StudentFirstName: 1, _id: 0}: শুধু StudentFirstName দেখাবে, _id লুকাবে।
Carol (Age 21) এবং John (Country US) বাদ পড়েছে।