MongoDB-এ নেস্টেড অবজেক্ট (সাব-ডকুমেন্ট) এর ফিল্ডে কোয়েরি করতে ডট (.) নোটেশন ব্যবহার করা হয়।
নমুনা ডেটা তৈরি
> db.searchInInnerDemo.insertOne(
{
"StudentFirstName": "Robert",
"StudentTechnicalDetails": {
"StudentBackEndTechnology": "MongoDB",
"StudentLanguage": "Java"
}
}
);
{ "acknowledged": true, "insertedId": ObjectId("5cd2dd89b64f4b851c3a13d2") }
> db.searchInInnerDemo.insertOne(
{
"StudentFirstName": "David",
"StudentTechnicalDetails": {
"StudentBackEndTechnology": "MySQL",
"StudentLanguage": "PHP"
}
}
);
{ "acknowledged": true, "insertedId": ObjectId("5cd2dda3b64f4b851c3a13d3") }
সব ডকুমেন্ট দেখুন
> db.searchInInnerDemo.find().pretty();আউটপুট:
{
"_id": ObjectId("5cd2dd89b64f4b851c3a13d2"),
"StudentFirstName": "Robert",
"StudentTechnicalDetails": {
"StudentBackEndTechnology": "MongoDB",
"StudentLanguage": "Java"
}
}
{
"_id": ObjectId("5cd2dda3b64f4b851c3a13d3"),
"StudentFirstName": "David",
"StudentTechnicalDetails": {
"StudentBackEndTechnology": "MySQL",
"StudentLanguage": "PHP"
}
}
কেস ১: শুধু একটি প্রপার্টি মэтচ করা (BackEndTechnology = MongoDB)
> db.searchInInnerDemo.find({"StudentTechnicalDetails.StudentBackEndTechnology":"MongoDB"}).pretty();
আউটপুট:
{
"_id": ObjectId("5cd2dd89b64f4b851c3a13d2"),
"StudentFirstName": "Robert",
"StudentTechnicalDetails": {
"StudentBackEndTechnology": "MongoDB",
"StudentLanguage": "Java"
}
}
কেস ২: পুরো সাব-ডকুমেন্ট মэтচ করা (BackEndTechnology = MongoDB AND Language = Java)
> db.searchInInnerDemo.find({"StudentTechnicalDetails":{"StudentBackEndTechnology":"MongoDB","StudentLanguage":"Java"}}).pretty();
আউটপুট:
{
"_id": ObjectId("5cd2dd89b64f4b851c3a13d2"),
"StudentFirstName": "Robert",
"StudentTechnicalDetails": {
"StudentBackEndTechnology": "MongoDB",
"StudentLanguage": "Java"
}
}
টিপস: কেস ১-এ শুধু একটি ফিল্ড মэтচ করলে বাকি ফিল্ড যেকোনো মান হতে পারে। কেস ২-এ পুরো অবজেক্ট স্ট্রিক্টলি মэтচ করতে হয় (অর্ডার বাদে)।