2014-07-08 6 views
0

je suis supprised d'apprendre ce soir que ObjectId("507c7f79bcf86cd7994f6c0e").getTimestamp() retourné selon le site de mongodb.org ISODate("2012-10-15T21:26:17Z")ObjectID .getTimestamp() MongoDB

Donc ma question est de savoir si ce ObjectID est-ce le MongoId? ou sont-ils deux choses distinctes.

La raison pour laquelle je demande est actuellement quand un utilisateur affiche un statut sur notre site, nous utilisons la fonction time() en PHP pour stocker le temps que l'utilisateur posté le statut, cela nous épargnerait un peu de code si nous étions capable d'utiliser le MongoID pour obtenir l'heure et la date à laquelle le statut a été téléchargé.

Je suis intéressé par ce que les autres pensent ou si je comprends bien. Si je comprends bien, alors quelqu'un pourrait-il donner un exemple PHP sur la façon dont j'obtiendrais le MongoID comme sortie de la date et de l'heure?

Merci

Répondre

1

Donc ma question est si cette ObjectID est-ce le MongoId? Mongodb identifie les documents par leur champ _id.

Si vous n'indiquez pas de champ _id à l'insertion, le serveur mongodb génère un ObjectId pour ce document (dans son champ _id). En php, ces valeurs seront converties en classe MongoId.

... si nous étions en mesure d'utiliser le mongoID pour obtenir l'heure et la date à laquelle le statut a été téléchargé.

Peut-être que. ObjectId s sont constructed en utilisant une valeur de 4 octets représentant les secondes depuis l'époque Unix. Si vous n'indiquez pas de champ _id à l'insertion (ou si vous fournissez une valeur ObjectId, générée par votre application cliente, en utilisant MongoDB's supplied api pour cela), ObjectId s peut être utilisé pour cela. Mais, vous n'êtes pas obligé d'utiliser ObjectId à chaque _id champ (ou pas du tout). En outre (parce qu'ils ont représenté dans 4 octets) ils sont affectés par le year 2038 problem...

Questions connexes