কম্পিউটার টিউটোরিয়াল

MongoDB এগ্রিগেশন ও প্রজেকশন: $project স্টেজ ব্যবহার

$project স্টেজ দিয়ে পাইপলাইনে নির্দিষ্ট ফিল্ড পাস করুন। স্লাইসিংও করা যায়।

> db.demo762.insertOne({
  "_id": { "userId":101, "userName":"Chris" },
  "countryName": "US",
  "details": [
    { "Name": "Robert", "DueDate": "2020-04-10" },
    { "Name": "Robert", "DueDate": "2020-04-09" },
    { "Name": "Robert", "DueDate": "2020-03-06" }
  ]
});

এগ্রিগেশন কোয়েরি (DueDate অ্যাসেন্ডিং সর্ট, শুধু প্রথম ২টি):

> db.demo762.aggregate([
  { "$match": { "_id": { "$eq": { userId:101, userName:"Chris" } } } },
  { "$unwind": "$details" },
  { "$sort": { "details.DueDate": 1 } },
  { "$group": { "_id": "$_id", "details": { "$push": "$details" }, "countryName": { "$first": "$countryName" } } },
  { "$project": { "details": { "$slice": ["$details", 2] }, "countryName": 1 } }
]).pretty();

ফলাফল: DueDate অনুযায়ী সর্ট করা প্রথম ২টি ডিটেইলস রিটার্ন হয়েছে।

  1. MongoDB এগ리게শনে ফিল্ড কম্বাইন করে কাউন্ট করা

  2. MongoDB-তে আপডেট সময় ওভাররাইট প্রতিরোধ করা (সাব-ডকুমেন্ট আপডেট)

  3. MongoDB-এ NumberLong(x) এবং NumberLong("x") এর পার্থক্য

  4. Python এবং MongoDB (PyMongo) ব্যবহার গাইড