Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MongoDB按日期查询和按距离排序(Mongoose&x2B;Express应用程序)_Javascript_Mongodb_Express_Mongoose - Fatal编程技术网

Javascript MongoDB按日期查询和按距离排序(Mongoose&x2B;Express应用程序)

Javascript MongoDB按日期查询和按距离排序(Mongoose&x2B;Express应用程序),javascript,mongodb,express,mongoose,Javascript,Mongodb,Express,Mongoose,我正在构建一个事件应用程序,希望获得某个日期的所有事件,然后按位置对它们进行排序。如何实现这样的请求?这是架构的外观: var eventSchema = mongoose.Schema({ _id: { type: String, required: true }, name: { type: String, required: true }, start_time: { type: Date }, location: { type: {

我正在构建一个事件应用程序,希望获得某个日期的所有事件,然后按位置对它们进行排序。如何实现这样的请求?这是架构的外观:

var eventSchema = mongoose.Schema({
_id: {
    type: String,
    required: true
},
name: {
    type: String,
    required: true
},
start_time: {
    type: Date
},
location: {
    type: {
        type: String
    },
    coordinates: []
},
});

我知道我可以使用$near查询位置,我已经成功运行了这个程序。但我想先查询“开始时间”,然后根据当天发生的事件与我的距离进行排序。如有任何建议,将不胜感激;)

使用
$geoNear
agg管道操作符。它将按照与指定点的接近程度返回文档。使用调用中的
query
选项,您可以告诉
$geoNear
进一步将查找限制为仅限于您的
开始时间(或任意查询表达式)。详情如下:

我设法让它与此查询一起工作:

{
    location: {
        $near : {
        $geometry: { type: "Point",  coordinates: [longitude,latitude] 
        },
        $maxDistance: 10000
        }
    },
    $and: [
        { start_time : {$gte: now, $lt: tomorrow} }
    ]
}

感谢这是一个有点复杂的小例子,我让它与$and运算符一起工作,并稍微扭曲了“排序”。谢谢你