Является ли идентификатор Twitter Tweet_ID уникальным для всей платформы Twitter? - PullRequest
0 голосов
/ 30 мая 2020

Я пишу сценарий для обработки и хранения миллионов твитов. Мой код работает так: идентификатор твита хранится как _id для документа MongoDB, чтобы сделать его уникальным в моей базе данных.
Я заметил, что идентификатор твита не кажется уникальным, и я получаю ошибка дублирования ключа при написании твитов для разных пользователей в БД.
Документация снежинки (https://developer.twitter.com/en/docs/basics/twitter-ids) дает обзор того, как генерируется идентификатор твита, и кажется, что он должен быть уникальным для всей базы данных твита .
Могут ли некоторые подтвердить, действительно ли идентификатор твита твиттера уникален в их БД?
Вот как работает мой код:

def write_tweets_to_db(tweets):
    processed_tweets = []
    for tweet in tweets:
        processed_tweets = process_tweet(tweet)  # This is where I convert tweepy object to dict and 
                                                 # set _id key to tweet ID
    for tweet in processed_tweets:
        try:
            collection.insert_one(tweet)
        except Exception as e:
            print('Error while writing tweet to DB | Error: {}'.format(e))

# Error while writing tweet to DB | Error: E11000 duplicate key error collection: [DB].[collection] index: _id_ dup key: { _id: 1235024705523863552 }

1 Ответ

1 голос
/ 31 мая 2020

идентификаторы твитов действительно уникальны. Вы всегда должны использовать строковый вариант идентификатора, чтобы избежать проблем с JavaScript и другими языками, которые не могут обрабатывать большие целые числа, преобразовывая числа.

...