Как составить список из всех значений в поле в pymongo?

1

У меня есть база данных слов, которая имеет следующую структуру:

{
    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"]) 

Как можно добиться этого без искажения текущей схемы базы данных? (Чтобы понять, почему мне нужно сохранить схему, обратитесь к этому вопросу)

Теги:
dictionary
pymongo

1 ответ

0

Вы можете использовать distinct чтобы сделать это:

db.tweet_words.distinct("words.value", {"initial": initial})

Выход:

[ "the", "turkish" ]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню