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

JavaScript-এ Date ইনক্রিমেন্ট করে MongoDB আপডেট করা

JavaScript Date অবজেক্ট ম্যানিপুলেট করে MongoDB-এ তারিখ আপডেট

MongoDB শেলে JavaScript-এ Date অবজেক্ট তৈরি করে setDate(), getDate() ব্যবহার করে দিন বাড়ানো/কমানো যায়, তারপর $set বা $currentDate দিয়ে আপডেট করা হয়।

উদাহরণ: ডেটা ইনসার্ট (DueDate: null)

> db.demo168.insertOne({"DueDate":null});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3695ae9e4f06af551997d6") }

প্রদর্শন

> db.demo168.find();

আউটপুট:

{ "_id" : ObjectId("5e3695ae9e4f06af551997d6"), "DueDate" : null }

JavaScript-এ তারিখ ইনক্রিমেন্ট ও আপডেট

> var t = new Date();
> t.setDate(t.getDate()+1);  // ১ দিন যোগ
1580722089017
> var dat = new Date();
> dat.setDate(dat.getDate()+2); // ২ দিন যোগ
1580808489085
> db.demo168.update(
...   { "_id": ObjectId("5e3695ae9e4f06af551997d6") },
...   { "$currentDate": { "DueDate": true }, "$set": { "DueDate1": t, "DueDate2": dat } }
... )
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

আপডেট পর পরিদর্শন

> db.demo168.find();

আউটপুট:

{ "_id" : ObjectId("5e3695ae9e4f06af551997d6"), "DueDate" : ISODate("2020-02-02T09:28:09.308Z"), "DueDate1" : ISODate("2020-02-03T09:28:09.017Z"), "DueDate2" : ISODate("2020-02-04T09:28:09.085Z") }

ব্যাখ্যা

  • new Date() — বর্তমান সময়।
  • t.setDate(t.getDate()+1) — তারিখ ১ বাড়িয়েছে (মাস/বছর অটো হ্যান্ডেল)۔
  • $currentDate: {DueDate: true} — সার্ভার টাইমস্ট্যাম্প সেট করে (আপডেট টাইম)۔
  • $set: {DueDate1: t, DueDate2: dat} — ক্লায়েন্ট-সাইড ক্যালকুলেটেড ডেট সেট।

সতর্কতা: ক্লায়েন্ট ও সার্ভার টাইম ভিন্ন হলে ডেটা ইনকনসিস্টেন্ট হয়। প্রোডাকশনে সার্ভার-সাইড $$NOW (aggregation) বা অ্যাপ্লিকেশন লেভেলে UTC ব্যবহার করুন।

  1. জাভাস্ক্রিপ্ট ডেট ফরম্যাট (Date Formats)

  2. MongoDB-এ ট্যাগ আপডেট করার পদ্ধতি

  3. MongoDB-তে টাইমস্ট্যাম্প আপডেট করে করেন্ট ডেট সেট করা

  4. MongoDB-তে শুধু একটি ডকুমেন্ট আপডেট করা ডেটা মুছে ফেলা ছাড়া