0
, dass mein MongoDB Schema ist:Vergleich Objekt in Mongoose mit Datetime
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var DogSchema = new Schema({
id_user: {
type: String,
required:true
},
name: {
type: String,
required:true
},
imei: {
type: String,
required:true,
unique:true
},
position: [{
lat: {type: Number, required:true},
lng: {type: Number, required:true},
date: {type: Date, required:true}
}],
teams: [{
code: {type:String,required:true}
}]
});
module.exports = mongoose.model('Dog', DogSchema);
Ich mag nur Positionen in einem bestimmten Datumsbereich zu finden. Ich habe versucht, die Abfrage zu verwenden:
db.dogs.find({"position.date" : { $gte : new Date("2017-11-25T00:00:00.000Z") , $lt : new Date("2017-11-26T00:00:00.000Z")}})
Aber, wenn ich eine Position zu finden, die der Abfrage entsprechen, die DB alle das Dokument zurück. Wie kann ich nur die Positionen mit diesem Zeitraum erhalten?