समस्या यह है कि उप-दस्तावेज़ों की सरणी संग्रह नहीं है, आप उस पर कुछ और सॉर्ट या कर सकते हैं। लेकिन अगर आपके पास जावास्क्रिप्ट जैसे किसी भी भाषा इंटरफ़ेस तक पहुंच है या नहीं तो यह संभव है। आपको बस उप-दस्तावेजों की सूची निकालने की जरूरत है, उन्हें ऊंचाई के अनुसार क्रमबद्ध करें, पहले वाले को याद रखें और फिर उसके नाम और ऊंचाई के आधार पर इसे सरणी से खींचने के लिए कमांड चलाएं। यह उदाहरण के लिए MongoDB में इस जावास्क्रिप्ट कोड का उपयोग करके किया जा सकता है। खोल:
var min = 0; var name = "";
db.animals.find({ query:{"_id" : 0} }).forEach(
function(record){
var sets = record.pets;
min = sets[0].height;
sets.forEach(function(set){
if(set.height <= min)
{min=set.height;
name=set.name;}
});
print(min);
print(name);
query = {"_id": 0}
update = { "$pull" : { "pets" : { "name" : name } } };
db.animals.update(query, update);
})
मुझे संदेह है कि समाधान सबसे सुंदर नहीं है लेकिन फिर भी यह काम करता है।