0
我在文檔place_names中有一個字段,它是一個位置的所有可能的地名的列表。示例紐約市有紐約市,紐約市,大蘋果等。 我希望用戶能夠查詢任何這些值或上述值的任何部分。 例如,如果他們搜索「蘋果」,我希望他們得到紐約市回來。我試圖使用mongoengine的__contains過濾如下對__contains不起作用的listField上的Mongoengine過濾
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)
在上面的例子中篩選器不工作,我希望它的方式。它作爲常規過濾器工作,不包含「_ 包含」。如果類型是StringField(),相同的過濾器工作正常。是否可以在ListFields中使用「 _contains」?如果沒有解決這個問題的方法嗎?謝謝:)
謝謝救了我很多挫折。失望的是,你不能在listField上做一個__contains。噢,好吧 – CodeMonkeyB 2012-01-31 04:53:16
目前在mongoDB中沒有全文搜索 - 你可以在這裏閱讀這裏的方法 - http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo一旦全文被實現核心mongoDB,那麼我們將能夠實現你想要的。你能否將這個問題標記爲未來其他人看待這個問題的答案 – Ross 2012-01-31 09:52:31