2017-11-06 2 views
0

Ich versuche, ein mehr where-Anweisung in Sails mit Mongo zu tun, aber ich bin nicht so viel GlückWo größer ist als integer - Waterline/Segel/Mongo

var start = moment().subtract(30, 'days').unix(); 
    var end = moment().unix(); 

    console.log(start, end) 

    Measurement.find() 
    .where({ 
     user: jwt.decoded.id, 
     and: [ 
      { timestamp: { ">=": start }}, 
      { timestamp: { "<=": end }} 
     ], 
    }) 
    .sort('timestamp DESC') 
    .then((results) => { 
     return res.view('dashboard', {title: 'MMOL', data: results, tab: 'dashboard', code: 90}) 
    }) 

Als ein Beispiel bin, mein Start es ist 1507410695 und meine Endzeit ist 1510006295.

in meiner Sammlung habe ich etwa 40 Datensätze, die zwischen diesen Daten fallen, und sie sind wie so strukturiert:

{ 
    "_id": { 
     "$oid": "5a0083aa25b9c9bb37b5fc5d" 
    }, 
    "timestamp": 1509916500, 
    "blood": 9, 
    "carb": 20, 
    "calorie": 230, 
    "insulin": 2, 
    "notes": null, 
    "user": { 
     "$oid": "59fcced3c40317c657878b5c" 
    }, 
    "createdAt": { 
     "$date": "2017-11-06T15:45:46.572Z" 
    }, 
    "updatedAt": { 
     "$date": "2017-11-06T22:05:35.270Z" 
    } 
} 

ich kann keine resul erhalten ts überhaupt. Soweit ich das beurteilen kann, mache ich das richtig. Wenn ich die Anweisung und lösche, bekomme ich alle Ergebnisse ohne ein Problem. Irgendwelche Ideen?

+0

Sind Sie sicher, dass die Datensätze, die auch die gleiche Benutzer-ID übereinstimmen innerhalb dieser Termine fallen? – dzm

+0

Absolut. Wenn ich die Anweisung und lösche, werden alle Datensätze angezeigt. Wenn ich eine Abfrage in Mongo ausführe, die nur {timestamp: 1509916500} ist, wird es angezeigt. – K20GH

+0

Ich habe auch gerade eine Abfrage in Node über Segel durchgeführt, um Zeitstempel: 1509916500 in der WHERE-Abschnitt und es das Ergebnis zurückgegeben – K20GH

Antwort

1

Statt and zu verwenden, können Sie nur verwenden

user: jwt.decoded.id, 
timestamp: { 
    '>=' : start, 
    '<=' : end 
} 
Verwandte Themen