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



希望每个人都做得很好。

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

{'_id': ObjectId('5f788e29d55317c9cedf2'), 'num': '5512', 'person': [['John', 'Leader'], ['Mary', 'Follower']], 'valid': True}

我正试图在关键字"中搜索字符串;人";,但迄今为止没有成功。

这是我正在使用的代码:

name = "John"
rgx = re.compile('.*(%s).*'%name, re.IGNORECASE)
selection = db.collection.find({"person": rgx})

但每次都是空的。

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

非常感谢!

我建议您更改数据模型,否则您的查询将是一个痛苦的世界。但是如果不能,这个查询将使用$elemMatch操作符:

print(list(db.mycollection.find({'person': {'$elemMatch': {'$elemMatch': {'$in': ['John']}}}})))

最新更新