来自数组的Mongoose过滤器元素

时间:2018-04-08 13:34:01

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

我有一个位置文档,它存储了一些位置,以及测量它们时的温度和时间戳,我想保持我的代码清洁,并希望过滤适合一个时间间隔的测量。当我尝试..我得到所有的测量结果,这不是理想的结果。 这是我的位置架构。

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
                        }
                    }
                } 
            });

0 个答案:

没有答案