TinyDB搜索列在列表

时间:2017-01-26 11:46:52

标签: python tinydb

如何搜索列表中嵌入的对象?用户需要能够搜索标题的文本。

这是JSON:

"titles": [
    {
      "languageCode": "da", 
      "text": "Odysseus"
    }
  ],

以下是代码:

from tinydb import TinyDB, Query
db = TinyDB('db.json')
Event = Query()
db.search(Event.titles.text == 'Odysseus')

但上面的例子显然不对。

1 个答案:

答案 0 :(得分:1)

创建第二个Query对象并使用它来搜索列表对象:

from tinydb import TinyDB, Query
db = TinyDB('db.json')
Event = Query()
Title = Query()
db.search(Event.titles.any(Title.text == 'Odysseus'))

这在TinyDB docs中并不是很明显。