J'ai essayé de stocker des tweets dans mongodb, chaque objet ressemble à ceci:
{
"_id" : ObjectId("4c02c58de500fe1be1000005"),
"contributors" : null,
"text" : "Hello world",
"user" : {
"following" : null,
"followers_count" : 5,
"utc_offset" : null,
"location" : "",
"profile_text_color" : "000000",
"friends_count" : 11,
"profile_link_color" : "0000ff",
"verified" : false,
"protected" : false,
"url" : null,
"contributors_enabled" : false,
"created_at" : "Sun May 30 18:47:06 +0000 2010",
"geo_enabled" : false,
"profile_sidebar_border_color" : "87bc44",
"statuses_count" : 13,
"favourites_count" : 0,
"description" : "",
"notifications" : null,
"profile_background_tile" : false,
"lang" : "en",
"id" : 149978111,
"time_zone" : null,
"profile_sidebar_fill_color" : "e0ff92"
},
"geo" : null,
"coordinates" : null,
"in_reply_to_user_id" : 149183152,
"place" : null,
"created_at" : "Sun May 30 20:07:35 +0000 2010",
"source" : "web",
"in_reply_to_status_id" : {
"floatApprox" : 15061797850
},
"truncated" : false,
"favorited" : false,
"id" : {
"floatApprox" : 15061838001
}
Comment pourrais-je écrire une requête qui vérifie le created_at et trouve tous les objets entre 18:47 et 19:00? Dois-je mettre à jour mes documents pour que les dates soient stockées dans un format spécifique?
2010-04-29T00:00:00.000Z
est beaucoup plus facile de définir votre plage de départ que de calculer la même date / heure en millisecondes. Vous pouvez également effectuer une conversion de fuseau horaire assez facilement. De plus, les dates gèrent déjà des choses comme les jours bissextiles, les secondes bissextiles et d'autres bizarreries que vous ne voulez généralement pas gérer vous-même.