mongoimport
przeznaczony jest do importowania istniejących danych dane w formacie CSV, TSV lub JSON. Jeśli chcesz wstawić nowe pola (takie jak znacznik czasu created
), musisz ustawić dla nich wartość.
Na przykład, jeśli chcesz ustawić created
znacznik czasu do chwili obecnej, można dostać uniksowego znacznika czasu z linii poleceń (co będzie sekund od początku epoki):
$ date +%s
1349960286
JSON <date>
representation że mongoimport
oczekuje, że jest to 64-bitowa liczba całkowita ze znakiem, reprezentująca milisekundy od epoki. Musisz pomnożyć unixtime wartość sekund przez 1000 i obejmują w pliku JSON:
{ "created": Date(1349960286000) }
Alternatywnym rozwiązaniem byłoby dodać utworzone znaczniki czasu do dokumentów po ich włożeniu.
Na przykład:
db.mycoll.update(
{created: { $exists : false }}, // Query criteria
{ $set : { created: new Date() }}, // Add 'created' timestamp
false, // upsert
true // update all matching documents
)
Czy próbowałeś 'new Date()'? – udidu
pojawia się błąd podczas analizowania błędu łańcucha JSON, gdy próbuję "new Date()" – Simba
co masz na myśli mówiąc "source/json file"? – udidu