MongoDB-এ ডট নোটেশন ব্যবহার করে নেস্টেড অবজেক্ট (হ্যাশ) এর ফিল্ডে $gt (greater than) কোয়েরি চালানো যায়।
নমুনা ডেটা তৈরি করা
performQueryDemo কালেকশনে চারটি প্লেয়ার ডকুমেন্ট ইনসার্ট করি যাতে PlayerDetails অবজেক্টে PlayerScore এবং PlayerLevel থাকে।
> db.performQueryDemo.insertOne({"PlayerDetails":{"PlayerScore":1000,"PlayerLevel":2},"PlayerName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7eba41a844af18acdffa9") }
> db.performQueryDemo.insertOne({"PlayerDetails":{"PlayerScore":0,"PlayerLevel":1},"PlayerName":"Robert"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ebbb1a844af18acdffaa") }
> db.performQueryDemo.insertOne({"PlayerDetails":{"PlayerScore":-10,"PlayerLevel":0},"PlayerName":"Larry"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ebd41a844af18acdffab") }
> db.performQueryDemo.insertOne({"PlayerDetails":{"PlayerScore":1,"PlayerLevel":1},"PlayerName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ebe31a844af18acdffac") }
সকল ডকুমেন্ট দেখানো
> db.performQueryDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cd7eba41a844af18acdffa9"), "PlayerDetails" : { "PlayerScore" : 1000, "PlayerLevel" : 2 }, "PlayerName" : "Chris" }
{ "_id" : ObjectId("5cd7ebbb1a844af18acdffaa"), "PlayerDetails" : { "PlayerScore" : 0, "PlayerLevel" : 1 }, "PlayerName" : "Robert" }
{ "_id" : ObjectId("5cd7ebd41a844af18acdffab"), "PlayerDetails" : { "PlayerScore" : -10, "PlayerLevel" : 0 }, "PlayerName" : "Larry" }
{ "_id" : ObjectId("5cd7ebe31a844af18acdffac"), "PlayerDetails" : { "PlayerScore" : 1, "PlayerLevel" : 1 }, "PlayerName" : "David" }
$gt দিয়ে স্কোর ০-এর চেয়ে বড় olan খুঁজা
PlayerDetails.PlayerScore ডট নোটেশন দিয়ে অ্যাক্সেস করি:
> db.performQueryDemo.find({ "PlayerDetails.PlayerScore": { $gt: 0 } });
আউটপুট:
{ "_id" : ObjectId("5cd7eba41a844af18acdffa9"), "PlayerDetails" : { "PlayerScore" : 1000, "PlayerLevel" : 2 }, "PlayerName" : "Chris" }
{ "_id" : ObjectId("5cd7ebe31a844af18acdffac"), "PlayerDetails" : { "PlayerScore" : 1, "PlayerLevel" : 1 }, "PlayerName" : "David" }
ব্যাখ্যা: Chris (১০০০) এবং David (১) — এদের স্কোর ০-এর চেয়ে বড়। Robert (০) এবং Larry (-১০) বাদ পড়েছে। ডট নোটেশন যেকোনো গভীর নেস্টেড ফিল্ডে কাজ করে।