我有许多类似
的mongodb文件veg_doc1 = {........, veg_name:[豆,豆,红豆,红萝卜,萝卜......], ...... }
veg_doc2 = {........, veg_name:[豆,黑豆,白菜,棕豆,gorbanzo豆,有机胡萝卜,红胡萝卜,.....], .......... }
veg_doc3 = {...., veg_name:[卷心菜,beatroot,豆类], ........ }
我可以设计一个查询来获取所有具有“bean”和&的文档。说“胡萝卜”作为“veg_name”字段中的元素(基本上是带有“和”操作的一个或多个项目)?我应该能够选择所有那些元素(在本例中为bean和胡萝卜)是子串的名称(应该包括说豆,黑豆,豆类,胡萝卜,红胡萝卜等,还有那些等等)。
所以如果我用('bean','胡萝卜')查询上面的内容 - 我应该回到veg_doc1和veg_doc2而不是veg_doc3。
有人可以帮助我吗? (我使用的是python / pymongo)
我这样做
veg_regex ='[* bean | * carrot]' 对于db.veg_collection.find中的sanc_doc({'vegetables':{'$ in'{'$ regex':veg_regex}}}): 打印(sanc_doc [ '蔬菜'])
这不起作用:-(要么我在正则表达式中做错了,要么在查询中出错了,或者两者都可能: - (