簡體   English   中英

在 NodeJS/Mongo 中獲取集合的最后一個值

[英]Getting the last values of a collection in NodeJS/Mongo

我正在嘗試獲取此數組上的最后一個值(最新更新),但下面的代碼只返回最后一個對象/所有對象。 如果我將限制增加到 5,我會得到 2 個蘋果 2 個香蕉 1 個櫻桃。 我只需要所有人的最后一個值。 我有 20 個水果和 150 多個條目。 我需要選擇 20 種水果的最新值。 謝謝您的幫助。

const last_finder = function (collectionName) {
    MongoClient.connect(url, function(err, db) {
        if (err) throw err;
        var dbo = db.db(dbName);
        dbo.collection(collectionName).find({}, {sort:{_id:-1}}).limit(1).toArray(function(err, result) {
            if (err) throw err;
            console.log(result);
            db.close();
        });
    });
}
The result:
{
    _id: 0,
    date: ' 01:30:51',
    name: 'Banana',
    value: '3.9'
  },
  {
    _id: 1,
    date: ' 01:33:51',
    name: 'Apple',
    value: '2.45'
  },
  {
    _id: 2,
    date: ' 01:34:50',
    name: 'Banana',
    value: '3.8'
  },
  {
    _id: 3,
    date: ' 01:34:59',
    name: 'Cherry',
    value: '6.21'
  },
  {
    _id: 4,
    date: ' 01:40:50',
    name: 'Apple',
    value: '2.55'
  }
]

ZCCADCDEDB567ABAE643E15DCF0974E503Z 在限制和偏移方面有點奇怪,您需要在限制之后執行 function,

dbo.collection(collectionName).find({}, {sort:{_id:-1}}).limit(1).exec(function(e, data){
        console.log(data)
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM