我需要在 nodejs 中使用 mongoose 编写查询。有一个用户模式,其中用户的当前位置使用经度和纬度存储。现在我有一个用户的当前位置,我需要找到距离用户不超过 10 英里的所有用户。要计算地理位置距离,我可以使用节点模块。事实是,我试图使用 mongoose 的 $where 进行搜索,但我不能在那里使用任何外部功能。查询与下面非常相似:
User.find().$where( calculate(this.current_location) +">10").exec(function(){
//body
});
这就像计算函数:
calculate(location){
return distance(location,req.user.location)
}
事实是我不能通过这个实例。它不是指数据库上的用户。我怎样才能做到这一点?:( 提前谢谢