2016-11-23 4 views
0

Привет Я новичок в Nodejs и mongodb. Нужна помощь для извлечения последней записи из моей коллекции. У меня есть этот код прямо now`Получить последнюю запись mongodb в nodejs

db.collection('bbb1collection', function(err, collection) { 
    collection.find({}).sort({_id:-1}).limit(1).toArray(function(err, results) { 
     path = results; 
    console.log(results); 

}

+0

Чтоваше консольное шоу? Вы должны поместить свой код в вопрос, а не в изображение. – dyouberg

+0

Пожалуйста, не указывайте код на изображениях. Это затрудняет редактирование вашей работы ... –

+0

Извините, спрашивал мой первый вопрос. Консоль ничего не показывает – user7201227

ответ

1

Проверьте это:

db.collection('bbb1collection', function(err, collection) { 
    collection 
    .find() 
    .sort({$natural: -1}) 
    .limit(1) 
    .next() 
    .then(
     function(doc) { 
     console.log(doc); 
     }, 
     function(err) { 
     console.log('Error:', err); 
     } 
    ); 
}); 

читать о $naturalhere

0

использовать этот запрос:

db.users.find().limit(1).sort({$natural:-1}) 
+0

Я очень новичок в этом. Не могли бы вы рассказать немного? – user7201227

+0

уверен. Поскольку каждый объект mongo имеет _id, который обычно является значением, основанным на отметке времени, поэтому он всегда сортируется в порядке возрастания вверху. Поэтому мы просто сортируем его в обратном порядке, указав -1 в $ natural operator, который говорит mongo использовать поле _id для сортировки. Кроме того, для удобства чтения вы можете установить лимит, наконец, не имеет значения для порядка или производительности. так же, как db.users.find(). Sort ({_ id: - 1}). Limit (1); –

Смежные вопросы