最近在使用MongoDB的时候,遇到了使用多个关键词进行模糊查询的场景。竹风使用的是mongoengine库。
查了各种资料,最后总结出比较好用的方法。先上代码,后面进行详细说明。如下:
1 #!/usr/bin/env python
2 #coding:utf-8
3
4 importre5 importmongoengine6 from mongoengine import *
7
8 mongoengine.register_connection('default', 'test', host='127.0.0.1')9
10 classTestData(Document):11 name =StringField()12 content =StringField()13
14 TestData.objects.get_or_create(name='天地玄黄',defaults={'content':'abc123'})15 TestData.objects.get_or_create(name='宇宙洪荒',defaults={'content':'ABC123'})16 TestData.objects.get_or_create(name='天天向上',defaults={'content':'Abc123'})17
18 defprint_arr(obj):19 printobj.name,obj.content20
21 deffuzzy_query_by_contains():22 print "\n###使用mongoengine的contains进行查询&#