निम्नलिखित डेटा को ध्यान में रखते हुए:
db.col.save({ a: "111"})
db.col.save({ a: "112"})
db.col.save({ a: "113"})
db.col.save({ a: "114"})
आप एग्रीगेशन फ्रेमवर्क के $match
का उपयोग कर सकते हैं उन सभी आइटम को फ़िल्टर करने के लिए जो निर्दिष्ट सरणी में मौजूद नहीं हैं और $addFields
$indexOfArray
के साथ index
प्राप्त करने के लिए संपत्ति। फिर आप $sort
कर सकते हैं उस संपत्ति द्वारा और $project
का उपयोग करें अस्थायी क्षेत्र को हटाने के लिए। कोशिश करें:
db.col.aggregate([
{
$match: { a: { $in: ["112", "111", "113"] } }
},
{
$addFields: {
index: { $indexOfArray: [ ["112", "111", "113"], "$a" ] }
}
},
{
$sort: { index: 1 }
},
{
$project: { index: 0, _id: 0 }
}
])
आउटपुट:
{ "a" : "112" }
{ "a" : "111" }
{ "a" : "113" }