在mongodb中使用日期获取最新数据

时间:2019-06-25 13:24:31

标签: javascript node.js mongodb mongoose mongodb-query

我正在尝试从Nodejs中的MongoDB获取最新数据。让我以每2小时将数据上传到集合中为例进行说明。当我执行get方法时,我需要最新的数据。

请帮助我解决这个问题。

Here is the Schema
var abc = new mongoose.Schema({
    ItemName : String,
    date:   Date
         ......
});
This is how I am storing 

finalData.push({
                ItemName: xyz,
                date: new Date()})

abc.insertMany(finalData)

3 个答案:

答案 0 :(得分:0)

您可以将集合分类,并通过将文档大小限制为一个来获取所需的文档。

abc.find({}).sort([['date', -1]]).limit(1).exec(function(err, doc) { });

答案 1 :(得分:0)

尝试这样:

 Public Sub sortedCollectionByDuration()

 Dim vItm As ClsCron
 Dim i As Long, j As Long
 Dim vTemp As Variant

 Set vTemp = New ClsCron
 Set vItm = New ClsCron

For i = 1 To myCol.Count - 1
        For j = i + 1 To myCol.Count
            If myCol(i).Duration > myCol(j).Duration Then

               Set vTemp = myCol(j)

                myCol.Remove j

                myCol.add vTemp, , i
            End If
        Next j
    Next i

   -- testing or logging

    For Each vItm In myCol
        Debug.Print vItm.ModuleName & " " & vItm.FunctionName & VBA.Format(vItm.Duration, "HH:MM:SS")

    Next vItm


End Sub

答案 2 :(得分:0)

  1. abc.find({})。sort('date')。limit(1).then(data => console.log(data))
  2. 条件可以是升序,降序,升序,降序,1或-1 abc.find({})。sort({字段:条件})。limit(1).exec(function(err,data){});