1

プロジェクト用のデータベースを作成しました。データベースで値を検索できるようにしたいのですが、単純な == 操作よりも優れています。たとえば、誰かが検索に「コロンビア」と入力した場合、その特定の人物の「所属」キーの値として「コロンビア大学」を含む辞書が必要です。

4

1 に答える 1

2

正規表現を使用して検索できます。

>>> db.search(User.name.matches('[aZ]*'))
>>> db.search(User.name.search('b+'))

これらは Python のものに対応しre.matchre.search後者は文字列のどこからでも開始できるオカレンスを検索します。

または、次のようなカスタム テスト式を使用できます。

>>> test_contains = lambda value, search: search in value
>>> db.search(User.name.test(test_contains, 'Columbia'))

詳細については、TinyDB docs の関連セクションを参照してください。

于 2015-12-31T13:41:16.187 に答える