我有一个位置文档,它存储了一些位置,以及测量它们时的温度和时间戳,我想保持我的代码清洁,并希望过滤适合一个时间间隔的测量。当我尝试..我得到所有的测量结果,这不是理想的结果。 这是我的位置架构。
const LocationSchema = new mongoose.Schema({
location: {
type: String,
unique: true,
required: true,
trim: true
},
latitude: {
type: Number,
required: true,
min: -90,
max: 90
},
longitude: {
type: Number,
required: true,
min: -180,
max: 180
},
measurements: [{
timestamp: {
type: Number,
required: true
},
temperature:{
type: Number,
required: true
}
}]
});
这是我尝试过滤测量值。
var locations = await Location.find({
'measurements': {
$elemMatch: {
timestamp: {
$gte: req.query.from,
$lte: req.query.to
}
}
}
});