0

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

这是 JSON:

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

这是代码:

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

但是上面的例子显然是不对的。

4

1 回答 1

2

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

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

这在 TinyDB文档中并不是很明显。

于 2017-05-10T10:17:43.493 回答