$addToSet
दिए गए फ़ील्ड में आइटम न जोड़ें यदि उसमें पहले से ही वह शामिल है, दूसरी ओर $push
दिए गए ऑब्जेक्ट को फ़ील्ड में जोड़ देगा चाहे वह मौजूद हो या नहीं।
{_id: "docId", items: [1, 2]}
db.items.update({_id:"docId"}, {$addToSet:{items: 2}}); // This won't update the document as it already contains 2
db.items.update({_id:"docId"}, {$push: {items:2}}); // this will update the document. new document {_id: "docId", items:[1,2,2]}