を、あなたはキーのリストをトークンとして1つの値に格納するだけです。あなたのキーが有効な "トークン"である限り、あなたはこの方法で単一のフィールドに簡単にリストすることができます。
はここPyrantの低レベルのインタフェースを使用した例です:
>>> from pyrant import Tyrant
>>> t = Tyrant()
>>> includes = 5 # code for operation TDBQCSTROR
>>> t['test'] = {'foo': 'abc,def', 'bar': 'abc def', 'quux': 'abcdef'}
>>> t.proto.search([('foo',includes,'abc')])
[u'test']
>>> t.proto.search([('bar',includes,'abc')])
[u'test']
>>> t.proto.search([('quux',includes,'abc')])
[]
>>> t.proto.search([('quux',includes,'abcd')])
[]
>>> t.proto.search([('quux',includes,'abcdef')])
[u'test']
TDBQCSTRORの略操作タイプである 『文字列が中に少なくとも1つのトークンが含まれています...』(Tokyo Cabinet API specsで 『tctdbqryaddcond』を参照してください。 )。
"abc"が実際に "abcdef"のサブセットであるにもかかわらず、 "abc、def"と "abc def"の両方が "abc"キーワードと一致していますが、 "abcdef"これは、単一の文字列に格納された鍵、例えばを検索するために使用することができます。
t['tokyocabinet'] = {'title': 'Tokyo Cabinet'}
t['primary-key'] = {'title': 'Primary Key'}
t['question1228313'] = {
'title': 'how to build one to many rows in tokyo cabinet?',
'tags': 'tokyocabinet, primary-key',
}
(タグはおそらく、彼らが参照している必要はありませんとして最良の例ではありません。)
を使用している場合別の種類のTCデータベース(TDBではない)、私は有効な解決策を想像することはできません。あなたは関連するdiscussion groupでこの質問をしたいかもしれません。