$filter এবং $let/$slice ব্যবহার করে অ্যারে থেকে শর্ত অনুযায়ী এলিমেন্ট বের করুন।
> db.demo751.insertOne({ _id: 101, details: [ { Name: "Robert", id:110,Age:21}, { Name: "Rae", id:110,Age:22}, {Name: "Ralph", id:116,Age:23} ] });
এগ্রিগেশন কোয়েরি (id=110 এবং শেষ এলিমেন্ট):
> db.demo751.aggregate([
{ $addFields: {
details: {
$let: {
vars: { filtered: { $filter: { input: "$details", as: "out", cond: { $eq: [ "$$out.id", 110 ] } } } },
in: { $slice: [ "$$filtered", -1 ] }
}
}
}}
])
ফলাফল: শুধু { "Name" : "Rae", "id" : 110, "Age" : 22 } রিটার্ন হয়েছে।