如何通过数组字段获取元素并过滤数组字段以仅返回匹配的元素?

我有一本包含数千个此类元素的字典:

{
'_id': ObjectId('5e9cd87f8b5ab6d445edab5f'), 
'id': 'XXX-YYY-ZZZ', 
'Published': datetime.datetime(2020, 2, 25, 18, 15), 
'summary': 'Some information', 
'subelements': [
    "Apple", "Car", "Glass"     // Thousands more
]
}

子元素字段可能包含数千个字符串。

我有一个子元素数组,我想扫描包含至少一个匹配子元素的所有元素。困难的部分是我想过滤子元素以仅包含那些我一直在寻找的值。

例如,寻找“ Apple”应返回:

{
'_id': ObjectId('5e9cd87f8b5ab6d445edab5f'), 
'id': 'XXX-YYY-ZZZ', 
'Published': datetime.datetime(2020, 2, 25, 18, 15), 
'summary': 'Some information', 
'subelements': [
    "Apple"
]
}
// other matches ...

并寻找“ Apple”,“ Car”和“ Book”应返回:

{
'_id': ObjectId('5e9cd87f8b5ab6d445edab5f'), 
'id': 'XXX-YYY-ZZZ', 
'Published': datetime.datetime(2020, 2, 25, 18, 15), 
'summary': 'Some information', 
'subelements': [
    "Apple", "Car"
]
}
// other matches
评论