2016-11-23 54 views
0

嗨,我是Nodejs和mongodb的新成员。需要帮助来从我的收藏中检索最后一条记录。我有这样的代码正确now`检索nodejs中的最后一个mongodb条目

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

}

+0

是什么你的console.log显示?你应该把你的代码放在问题中而不是图像中。 – 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,它通常是基于时间戳的值,所以它总是按asc顺序排序,最后一个排在顶部。所以我们通过在$ natural操作符中指定-1来反向排序,这会告诉mongo使用_id字段进行排序。同样为了可读性,您可以将限制放在最后,无论是订购还是性能问题。因此它与db.users.find()。sort({_ id: - 1})。limit(1);相同。 –

相关问题