以下代码向我返回了包含该字段的文档列表text
。
db = TinyDB('/stream.json')
Tweet = Query()
db.search(Tweet.text.exists())
相反,我只想获取text
所有具有字段的文档的字段值数组text
。最好在读取 json 时获取它,而不是将所有内容加载到内存中然后过滤它。
以下代码向我返回了包含该字段的文档列表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.