MongoDB-তে কোনো ডকুমেন্টকে রেফারেন্স (ফিল্ড কম্বিনেশন) হিসেবে ব্যবহার করে তার অ্যারে ফিল্ডে নতুন অবজেক্ট ম্যানুয়ালি যোগ করতে update() সাথে $push ব্যবহার করা হয়।
উদাহরণ: মার্কস অ্যারে সহ ডকুমেন্ট
> db.demo585.insert({ firstName: 'John', lastName: 'Doe', SubjectName: "MongoDB", Marks: [59] });
> db.demo585.insert({ firstName: 'Chris', lastName: 'Brown', SubjectName: "MySQL", Marks: [79] });
John Doe-এর Marks অ্যারেতে অবজেক্ট যোগ করা
> db.demo585.update(
{ firstName: 'John', lastName: 'Doe', SubjectName: "MongoDB", Marks: [59] },
{ $push: { "Marks": { "Value": 59, "Times": 3 } } }
);
রেজাল্ট: WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
ফলাফল
> db.demo585.find();
আউটপুট:
{ "firstName" : "John", "lastName" : "Doe", "SubjectName" : "MongoDB", "Marks" : [ 59, { "Value" : 59, "Times" : 3 } ] }
{ "firstName" : "Chris", "lastName" : "Brown", "SubjectName" : "MySQL", "Marks" : [ 79 ] }
ব্যাখ্যা:
- কোয়েরিতে পুরো ডকুমেন্ট ম্যাচ করা হয়েছে (রেফারেন্স কী হিসেবে)
$pushদিয়ে Marks অ্যারেতে নতুন অবজেক্ট{Value: 59, Times: 3}যোগ হয়েছে- মূল সংখ্যা (59) এবং নতুন অবজেক্ট দুটোই অ্যারেতে রয়েছে (হেটেরোজিনাস অ্যারে)
সুপারিশ: প্রোডাকশনে _id দিয়ে আপডেট করা ভালো, পুরো ডকুমেন্ট ম্যাচ করার বদলে।