我试图在使用Mongo的Sails中执行多个where语句,但我没有任何运气
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})
})
举个例子,我的开始时间是1507410695,我的结束时间是1510006295。
在我的收藏中,我有大约40条记录介于这些日期之间,它们的结构如下:
{
"_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"
}
}
我根本无法得到任何结果。据我所知,我正确地做到了这一点。如果我删除了和语句,我会得到所有结果而不会出现问题。有什么想法吗?
答案 0 :(得分:1)
您可以使用
,而不是使用and
user: jwt.decoded.id,
timestamp: {
'>=' : start,
'<=' : end
}