Python プロジェクトでTinyDBを使用しています。ただし、ロジックを有効にするには、クエリで複数のオブジェクトを取得できる必要があります。私の好みは、リストを使用することです
listOfIDs = ['123', '456']
最新の Python バージョンと TinyDB 実装を使用しています。
私は次の実装を持っています:
from tinydb import TinyDB, Query
db = TinyDB('db.json')
myDBQuery= Query()
db.insert({'id': '123', 'name': 'bob'})
db.insert({'id': '456', 'name': 'mary'})
result = db.search(myDBQuery.id.all(['123', '456']))
print(result)
ただし、結果として次の結果が得られます。
[]
以下を実行すると、期待どおりの結果が得られるため、実装が機能していることはわかっています。
result = db.search((myDBQuery.id == '123') | myDBQuery.id == '456'))
TinyDB でリストをクエリする方法を知っている人はいますか?
TinyDB でリストをクエリする方法を知っている人はいますか?
編集
不思議に思っている人のために、現在の実装でそれを行う方法はありません。私の唯一の回避策は、次のようなものを作成することです
def getAllObjectsMatchingId(listOfIds):
tempList = []
for idMember in tempList:
result = db.search(myDBQuery.id == idMember)
tempList.append(result)
return tempList