2013-06-04 2 views
0

В настоящее время я использую mongoimport для импорта многих файлов JSON в мою базу данных.mongoimport включает время импорта

mongoimport --host localhost --db test --collection <collectionName> --type json --file <filepath> 

Это хорошо работает, однако, я хочу, чтобы добавить поле, которое записывает временную метку времени импорта (я использую хрон так что этот скрипт запускается в разное время). Как я могу это сделать?

ответ

1

Когда документы создаются во время импорта, вы получаете первичный ключ, созданный для вас, называемый «_id», который имеет поле типа ObjectId.

Как оказалось, первые четыре байта объекта ObjectId являются меткой времени его создания. Таким образом, вы можете сортировать по _id как прокси для сортировки по времени вставки, кроме того, различные драйверы MongoDB предоставляют методы для извлечения метки времени из объекта ObjectId - например, в оболочке MongoDB:

> var o=new ObjectId() 
> o 
ObjectId("51ae926b77bf7c394dfe0cc8") 
> o.getTimestamp() 
ISODate("2013-06-05T01:20:43Z")