createIndex() দিয়ে এমবেডেড ডকুমেন্টের ফিল্ডে ইনডেক্স তৈরি
MongoDB-এ নেস্টেড (এমবেডেড) ডকুমেন্টের ফিল্ডে ইনডেক্স তৈরি করতে ডট নোটেশন (outer.inner.field) ব্যবহার করে createIndex() বা ensureIndex() কল করতে হয়।
সিনট্যাক্স
db.yourCollectionName.createIndex({ "yourOuterFieldName.yourInnerFieldName.yourSecondInnerFieldName": 1 });
উদাহরণ
> db.nestedIndexDemo.insertOne({
"CustomerId": 101,
"CustomerDetails": {
"CustomerListDetails": {
"CustomerName": "Larry",
"CustomerProjectName": "Project-1",
"CustomerCountryName": "US"
}
}
});
নেস্টেড ফিল্ডে ইনডেক্স তৈরি
> db.nestedIndexDemo.createIndex({ "CustomerDetails.CustomerListDetails.CustomerCountryName": 1 });
{ "createdCollectionAutomatically": false, "numIndexesBefore": 1, "numIndexesAfter": 2, "ok": 1 }
ইনডেক্স লিস্ট যাচাই
> db.nestedIndexDemo.getIndexes();
[
{ "v": 2, "key": { "_id": 1 }, "name": "_id_", "ns": "test.nestedIndexDemo" },
{ "v": 2, "key": { "CustomerDetails.CustomerListDetails.CustomerCountryName": 1 }, "name": "CustomerDetails.CustomerListDetails.CustomerCountryName_1", "ns": "test.nestedIndexDemo" }
]
ব্যাখ্যা: ইনডেক্সের key ফিল্ডে পূর্ণ পাথ (path) এবং সর্ট অর্ডার (1 = ascending) দেখাচ্ছে। এখন CustomerCountryName দিয়ে কোয়েরি দ্রুত হবে।