संस्करण 3.2 से आप इसे $unwind
. के साथ कर सकते हैं दोनों सरणियों पर, $cmp
अनुक्रमणिका, और $match
केवल समान अनुक्रमणिका।
यदि आपके पास केवल उदाहरण दस्तावेज़ है तो यह समाधान आपके द्वारा लिखे गए कार्यों को पॉप्युलेट करेगा। यदि आपके पास अधिक दस्तावेज़ हैं तो मुझे नहीं पता कि आप आउटपुट में क्या प्राप्त करने की उम्मीद करते हैं, लेकिन दस्तावेज़ के _id द्वारा समूहबद्ध करके इसे हल किया जा सकता है।
db.test.aggregate([
{
$unwind: {
path: '$dates',
includeArrayIndex: 'dates_index',
}
},
{
$unwind: {
path: '$numbers',
includeArrayIndex: 'numbers_index',
}
},
{
$project: {
dates: 1,
numbers: 1,
compare: {
$cmp: ['$dates_index', '$numbers_index']
}
}
},
{
$match: {
compare: 0
}
},
{
$project: {
_id: 0,
dates: 1,
numbers: 1
}
}
])