MongoDB: Uniquement extraire des documents créés dans les dernières 24 heures?
Je veux à la limite d'une requête je fais à regarder dans les documents qui ont été créés dans les dernières 24 heures.
Quelle est la meilleure façon de structurer cette requête? Comment dois-je faire à propos de la limitation basée sur la date?
Ce lien peut aider stackoverflow.com/questions/8665731/...
Démarrer avec docs sur le pilote natif. Personnellement, j'utilise mongoskin. Il y a aussi mangouste et autres. Et bien sûr, voir DB, pour les docs lui-même (sur recherche et d'autres trucs). Il y a aussi libre M101: MongoDB pour les Développeurs à partir de 10gen.
je utiliser un nœud-mongodb-natif // je sais comment utiliser mongo je ne sais pas la meilleure façon de faire cette requête.
Créer
Démarrer avec docs sur le pilote natif. Personnellement, j'utilise mongoskin. Il y a aussi mangouste et autres. Et bien sûr, voir DB, pour les docs lui-même (sur recherche et d'autres trucs). Il y a aussi libre M101: MongoDB pour les Développeurs à partir de 10gen.
je utiliser un nœud-mongodb-natif // je sais comment utiliser mongo je ne sais pas la meilleure façon de faire cette requête.
Créer
createdAt
terrain, de créer des index sur que, l'utilisation find({gte: isoDate})
. C'est ce que je ferais.OriginalL'auteur boom | 2012-11-09
Vous devez vous connecter pour publier un commentaire.
Si vous n'êtes pas à l'aide de tout autre index et utilisez la valeur par défaut ObjectID que votre _id, vous pouvez effectuer les opérations suivantes:
TypeError: la fonction de l'Objet ObjectId() { [native code] } n'a pas de méthode 'createFromTimestamp'
mon mauvais,
createFromTime
. ils ont peut-être changé: mongodb.github.io/node-mongodb-natif/api-bfils généré par/...Obtenir la même erreur: ReferenceError: ObjectID n'est pas défini
Fermer, mais je pense qu'il devrait être
ObjectID.createFromTime(Date.now() \ 1000 - 24 * 60 * 60)
.OriginalL'auteur Jonathan Ong
Ajouter
createdAt
champ, index, puis requêteCe sera le retour de tous les enregistrements âgés de plus de 86 400 secondes.
OriginalL'auteur spicydog
Pour quelqu'un d'autre à l'atterrissage ici via google, vous pouvez le faire dans le shell mongo comme suit:
$where
docs.mongodb.org/manual/reference/operator/query/where/... Il a des problèmes de performances.OriginalL'auteur Thom Seddon
L'utiliser dans la mangouste
OriginalL'auteur jitendra rajput
tout d'abord, il serait vraiment utile si vous donnera à des personnes avec un schéma de votre collection.
Mais juste parce qu'il est déjà 3 heures ont passé, et personne n'a répondu, je vais essayer:
Supposons que vous avez entrée et il a un champ createdAt qui est un ISODate:
Donc ce que vous devez faire est de mettre un index sur ce champ
Ensuite, vous obtenez votre heure actuelle dans node.js remplacez-la par votre de 24 heures et obtenez votre valeur de départ. (Autant que je sache, il n'y a rien d'analogue à présent mongdb. Droit-moi quelqu'un si je me trompe.)
OriginalL'auteur Salvador Dali
"TEMPS" est le champ qui stockent timestamp
OriginalL'auteur Ronak Poriya