以以下集合为例:
{
'_id': '0',
'docs': [
{'value': 'abcd', 'key': '1234'},
{'value': 'abef', 'key': '5678'}
]
}
{
'_id': '1',
'docs': [
{'value': 'wxyz', 'key': '1234'},
{'value': 'abgh', 'key': '5678'}
]
}
我希望能够只选择'docs'列表下的子文档,其中'value'包含字符串'ab'。我希望得到的是以下收藏:
^{pr2}$因此,过滤掉不匹配的子文档。在
您需要一个分别匹配每个子文档的聚合管道,然后将匹配的子文档重新联接到数组中:
我假设“col”是指向PyMongo集合对象的变量。该输出:
^{pr2}$字符串的“r”前缀使其成为Python“raw”字符串,以避免正则表达式代码出现任何问题。在本例中,regex只是“ab”,所以“r”前缀是不必要的,但是现在这是一个很好的做法,这样以后就不会出错了。在
相关问题 更多 >
编程相关推荐