2017-01-26 21 views
0

如何搜索列表中嵌入的对象?用户需要能够搜索标题的文本。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

创建第二个查询对象,并用它来搜索您的列表对象:

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

这是不是从TinyDB docs显而易见。