У меня есть эта схема
var location = new Schema({
Loc:{
type : {type:String},
coordinates:[Number],
},
startDate:Date,
endDate:Date
})
location.index({Loc: '2dsphere'} , { sparse: true});
var LocationSchema = new Schema({
name: String,
locations:[location]
});
Мне нужен запрос, чтобы найти всех пользователей рядом с местоположением в пределах диапазона времени
Я попытался получить ближайшее местоположение, которое я использовал для агрегации и придумал это
{
'$geoNear': {
'near': [
-73.9815103, 40.7475731
],
'spherical': true,
'distanceField': 'dist',
'includeLocs': 'locs'
}
}, {
'$addFields': {
'addresses': {
'$filter': {
'input': '$locations',
'as': 'address',
'cond': {
'$eq': [
'$$address.Loc', '$locs'
]
}
}
}
}
}
но все же я не могу отфильтровать данные в пределах диапазона дат, у кого-нибудь есть идеи по этому поводу?