下面的代码向我返回了字段text
的文档列表。
db = TinyDB('/stream.json')
Tweet = Query()
db.search(Tweet.text.exists())
相反,我只想在具有text
字段的所有文档上获取text
字段值的数组。最好在读取 json 时获取它,而不是将所有内容加载到内存中然后过滤它。
不幸的是,TinyDB
只支持查询过滤器。它不支持在与该特定查询过滤器匹配的文档中返回哪些字段,类似于MongoDB投影参数。
您始终可以使用列表理解来自己过滤它:
from tinydb import TinyDB, Query
db = TinyDB('/stream.json')
Tweet = Query()
texts = [tweet.get('text') for tweet in db.search(Tweet.text.exists())]
print(texts) # List of all text field values.