Я пишу сценарий для обработки и хранения миллионов твитов. Мой код работает так: идентификатор твита хранится как _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 }