2016-07-21 3 views
1

のサブある文書を見つけます。 pymongoでこれを行う方法はありますか?Pymongoは、そのフィールドのは、我々は次の書類のコレクションを持っているとしましょう与えられた文字列

私は反対のことを知っている - フィールドは$regexを使用して行うことができ、文字列が含まれてい取得した文書が、私がしたいことは、そのフィールドの文字列に含まれるなった文書です。

答えて

0

文字列コンテンツのテキスト検索クエリをサポートするテキストインデックスを使用できます。テキストインデックスには、値が文字列または文字列要素の配列であるフィールドを含めることができます。ここで

がpymongoを使用して、最小限の例です:あなたの例文書を

# Get database connection 
conn = pymongo.MongoClient('mongodb://localhost:27017/') 
coll = conn.get_database('test').get_collection('test') 

# Create text index 
coll.create_index([('str',pymongo.TEXT)]) 

# Text search 
print list(coll.find({'$text': {'$search': 'hello world'}})) 

、これはになります。詳細については

[{u'_id': 3.0, u'str': u'world'}, 
{u'_id': 2.0, u'str': u'hello world'}, 
{u'_id': 1.0, u'str': u'hello'}] 

、参照してください。

関連する問題