जैसे @ blakes-seven ने कहा, आपके पास इसे करने के दो तरीके हैं:
पकड़ना, अपडेट करना और पुश करना
db.images.find({ _id: '' }, { images : 1 })
.then(function(img) {
var tmpImg = img.images[0];
img.images[0] = img.images[1];
img.images[1] = tmpImg;
db.images.update({ _id: img._id }, { $set: { images: img.images } });
})
सीधे अपडेट करना (यदि आपके पास क्लाइंट पर छवि है और अनुक्रमणिका जानते हैं), $स्थिति . का उपयोग करके
db.images.update({ _id: '' }, { $push: { images: { $each: ['img2'] }, $position: 0 } } } )
.then(function() {
db.images.update({ _id: '' }, {$unset: {'images.2': 1}})
});
https://docs.mongodb.org/manual/reference/operator/update/position/
हालांकि, मुझे लगता है कि आपको अपनी छवियों को संग्रहीत करने के तरीके को फिर से डिज़ाइन करना चाहिए, उदाहरण के लिए वर्चुअल ऑर्डरिंग:
{
images: [
{ base64: 'img1', order: 0, _id: 'img1' },
{ base64: 'img2', order: 1, _id: 'img2' },
{ base64: 'img3', order: 2, _id: 'img3' }
]
}
इस तरह, आप वर्चुअल ऑर्डर इंडेक्स का उपयोग करके अपनी छवियों को ऑर्डर कर सकते हैं, उन्हें केवल _id का उपयोग करके अपडेट कर सकते हैं, या सभी img2 के क्रम को बदलकर पूरे संग्रह को अपडेट कर सकते हैं, किसी छवि को छोड़ या बदल सकते हैं, आदि।