我有一个具有以下结构的单词数据库:
{
initial: "t"
count: 3,
words: [
{value: "the", tweets: [{"tweet_id": <some-tweet-id>, "pos": (2, 5)},
{"tweet_id": <some-other-tweet-id>, "pos": (9, 12)}]},
{value: "turkish", tweets: [{"tweet_id": <some-tweet-id>, "pos": (5, 11)}]}
]
}
我将存储数以百万计的推文及其在本数据库中的位置的所有唯一词。问题是我想轻松列出所有以首字母开头的单词。为了更清楚一点,我想做些类似的事情:
cur = db.tweet_words.find({"initial": initial})
words = list(next(cur)["words"])
如何在不扭曲数据库当前架构的情况下实现这一目标? (要了解为什么我需要保留架构,请参阅this question)
答案 0 :(得分:1)
您可以使用distinct
进行此操作:
db.tweet_words.distinct("words.value", {"initial": initial})
输出:
[ "the", "turkish" ]