У меня есть коллекция содержит триста миллионов документов. Каждый документ имеет поле «created_at», который определяет время в виде строки, как это «Чт 5 февраля 9:25:38 +0000 2015»Эффективный способ изменения формата времени для всех документов в MongoDB
Я хочу изменить все поле «created_at» в поддерживаемый MongoDB формат времени. Так что я написал простой скрипт на Ruby:
collection.find.each do |document|
document[:created_at] = Time.parse document[:created_at]
collection.save(document)
end
Он сделал изменить формат времени, как я хотел, но мой сценарий работает уже в течение 50 часов, и нет никаких признаков отделки.
Есть ли лучший способ выполнить эту задачу? Сценарий оболочки MongoDB или скрипт Python также применим ко мне.
Кстати, эта коллекция не индексируется, поскольку он постоянно вкладывание документов
Есть ли уникальный столбец, кроме _id – The6thSense
Нет Эта коллекция хранит данные твитов. Даже идентификатор твита не уникален, так как API Twitter иногда возвращает повторяющиеся данные –