Python MongoDB watch()聚合按字段值匹配
当我对我的集合使用Python MongoDB watch()聚合按字段值匹配,python,mongodb,pymongo,Python,Mongodb,Pymongo,当我对我的集合使用watch()函数时,我正在传递一个聚合以过滤通过的内容。我能够使operationType正常工作,但我只想包含city字段等于温哥华的文档。我使用的当前语法不起作用: change\u stream=client.mydb.mycollection.watch([ { “$match”:{ 'operationType':{'$in':['replace','insert']}, 'fullDocument':{'city':{'eq':'温哥华'} } } ]) 作为参
watch()
函数时,我正在传递一个聚合以过滤通过的内容。我能够使operationType
正常工作,但我只想包含city
字段等于温哥华
的文档。我使用的当前语法不起作用:
change\u stream=client.mydb.mycollection.watch([
{
“$match”:{
'operationType':{'$in':['replace','insert']},
'fullDocument':{'city':{'eq':'温哥华'}
}
}
])
作为参考,这是我正在聚合的字典的样子:
{u-id':{u-data':'825F…e004'},
“clusterTime”:时间戳(1595565179,2),
'documentKey':{'u id':ObjectId('70fc7871…'),
'fullDocument':{'u id':ObjectId('70fc7871…'),
‘城市’:‘温哥华’,
'ns':{'coll':'notification','db':'pipeline'},
'operationType':'replace'}
我发现我只需使用一个点即可访问嵌套字典:
change\u stream=client.mydb.mycollection.watch([
{
“$match”:{
'operationType':{'$in':['replace','insert']},
“fullDocument.city”:“温哥华”}
}
}
])