আপনি নিম্নলিখিত দুটি ধাপ −
ব্যবহার করে একটি অ্যারের উপাদানকে তার সূচী দ্বারা সরাতে পারেনপ্রথম ধাপটি নিম্নরূপ -
db.yourCollectionName.update({}, {$unset :{"yourArrayFieldName.yourIndexValue" :1 }});
উপরের সিনট্যাক্সটি 'yourIndexValue'-এর অবস্থানে একটি নাল মান রাখবে। এর পরে, আপনাকে একটি অ্যারে উপাদান থেকে সরাতে ফাইল করা অ্যারে থেকে নাল মান টানতে হবে৷
দ্বিতীয় ধাপটি নিম্নরূপ -
db.yourCollectionName.update({}, {$pull :{"yourArrayFieldName" :null}});
সিনট্যাক্স বাস্তবায়ন করতে, আসুন ডকুমেন্টের সাথে একটি সংগ্রহ তৈরি করি। একটি নথির সাথে একটি সংগ্রহ তৈরি করার প্রশ্নটি নিম্নরূপ -
> db.removeArrayElementByItsIndexDemo.insertOne({"InstructorName":"David", "InstructorAge":28,"InstructorSubject":["MongoDB","MySQL","Java","SQL সার্ভার","PL/ SQL"]});{ "স্বীকৃত" :সত্য, "insertedId" :ObjectId("5c8abbfc6cea1f28b7aa0803")}
Find() পদ্ধতির সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -
> db.removeArrayElementByItsIndexDemo.find().pretty();
নিচের আউটপুট −
{ "_id" :ObjectId("5c8abbfc6cea1f28b7aa0803"), "InstructorName" :"David", "InstructorAge" :28, "InstructorSubject" :[ "MongoDB", "MySQL", "Java", "SQL সার্ভার" , "PL/SQL" ]}
এখানে একটি অ্যারের উপাদানকে তার সূচী দ্বারা অপসারণের জন্য ক্যোয়ারী রয়েছে৷
ধাপ 1 - প্রশ্নটি নিম্নরূপ -
> db.removeArrayElementByItsIndexDemo.update({}, {$unset :{"InstructorSubject.2" :1 }});WriteResult({ "nMatched" :1, "nUpserted" :0, "nModified" :1} )
ধাপ 2 − ক্যোয়ারীটি নিম্নরূপ −
> db.removeArrayElementByItsIndexDemo.update({}, {$pull :{"InstructorSubject" :null}});WriteResult({ "nMatched" :1, "nUpserted" :0, "nModified" :1 }<) /প্রে>অ্যারে উপাদান "জাভা" অপসারণ করা হয়েছে কিনা তা পরীক্ষা করা যাক। প্রশ্নটি নিম্নরূপ -
> db.removeArrayElementByItsIndexDemo.find().pretty();নিচের আউটপুট −
{ "_id" :ObjectId("5c8abbfc6cea1f28b7aa0803"), "InstructorName" :"David", "InstructorAge" :28, "InstructorSubject" :[ "MongoDB", "MySQL", "SQL সার্ভার", "PL// SQL" ]}নমুনা আউটপুট দেখুন, অ্যারে উপাদান "জাভা" সম্পূর্ণরূপে সরানো হয়েছে।