web-dev-qa-db-fra.com

Obtenir le dernier enregistrement MongoDB par champ de date/heure

J'ai une collection comme celle-ci:

{
    'datetime': some-date,
    'lat': '32.00',
    'lon': '74.00'
},
{
    'datetime': some-date,
    'lat': '32.00',
    'lon': '74.00'
}

Comment puis-je obtenir le dernier enregistrement de MongoDB, où la date/heure est la dernière? Je ne veux qu'un seul disque.

26
FarazShuja

Utilisez sort et limit :

db.col.find().sort({"datetime": -1}).limit(1)
61
Chris Seymour

Pour node.js, vous pouvez utiliser la fonction findOne():

db.collection('yourCollectionName').findOne(
  {},
  { sort: { datetime: -1 } },
  (err, data) => {
     console.log(data);
  },
);
0
IgorS