我的文档 place_names 中有一个字段,它是一个位置的所有可能地名的列表。例如纽约市,有纽约市、纽约市、大苹果等。我希望用户能够查询这些值中的任何一个或上述值的任何部分。例如,如果他们搜索“苹果”,我希望他们返回纽约市。我试图在 mongoengine 中使用 __contains 过滤器,如下所示
place_names 是 ListField() 类型
pn = request.POST.get('place_name', None)
try:
places_list = Places.objects()
if pn is not None and pn != "":
places_list.filter(place_names__contains = pn)
在上面的例子中,过滤器没有按照我期望的方式工作。它作为常规过滤器工作,不执行“_ contains”。如果类型是 StringField(),则相同的过滤器可以正常工作。是否可以将“ _contains”与 ListFields 一起使用?如果没有,有没有办法解决这个问题?谢谢 :)