在Python-Pymongo中的dict内的列表中搜索

在Python-Pymongo中的dict内的列表中搜索,python,mongodb,find,pymongo,Python,Mongodb,Find,Pymongo,希望大家都过得很好 我使用Mongodb存储了以下结构的数据: {'_id': ObjectId('5f788e29d55317c9cedf2'), 'num': '5512', 'person': [['John', 'Leader'], ['Mary', 'Follower']], 'valid': True} 我试图在键“person”中搜索字符串,但到目前为止没有成功 以下是我正在使用的代码: name = "John" rgx = re.compile('.*(%

希望大家都过得很好

我使用Mongodb存储了以下结构的数据:

{'_id': ObjectId('5f788e29d55317c9cedf2'), 'num': '5512', 'person': [['John', 'Leader'], ['Mary', 'Follower']], 'valid': True}
我试图在键“person”中搜索字符串,但到目前为止没有成功

以下是我正在使用的代码:

name = "John"
rgx = re.compile('.*(%s).*'%name, re.IGNORECASE)
selection = db.collection.find({"person": rgx})
但每次都是空的

你知道我为什么做错了什么吗


非常感谢

我建议您更改数据模型,否则您的查询将是一个痛苦的世界。但如果您不能,则此查询将使用以下命令:


非常感谢你!这很有帮助!解决了所有问题。
print(list(db.mycollection.find({'person': {'$elemMatch': {'$elemMatch': {'$in': ['John']}}}})))