2017-01-26 1 views
0

Wie suche ich ein Objekt in einer Liste? Der Benutzer muss in der Lage sein, nach dem Text eines Titels zu suchen.TinyDB sucht ein Objekt in einer Liste

Hier ist die JSON:

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

Hier ist der Code:

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

Aber das obige Beispiel ist offensichtlich nicht richtig.

Antwort

1

Erstellen Sie eine zweite Abfrage-Objekt und verwenden, dass Ihre Liste Objekt suchen:

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

Dies ist nicht sofort ersichtlich, aus dem TinyDB docs.

Verwandte Themen