Mongodb 猫鼬地理定位+距离查询

Mongodb 猫鼬地理定位+距离查询,mongodb,mongoose,mongodb-query,Mongodb,Mongoose,Mongodb Query,我不确定如何重新创建以下内容。在mongoose查询中查找查询: db.places.find{ loc:{$GEOIN:{$centerSphere:[-74,40.74],100/3963.2]} }; 我已经制定了这个计划 const AdScheme=新模式{ 地点:{ 坐标:[{0:Number,1:Number}] }, 类型:字符串, 名称:String }; 导出默认mongoose.modelcampaign,AdScheme; 但是现在我需要做一个find查询,这不是一个简单

我不确定如何重新创建以下内容。在mongoose查询中查找查询:

db.places.find{ loc:{$GEOIN:{$centerSphere:[-74,40.74],100/3963.2]} }; 我已经制定了这个计划

const AdScheme=新模式{ 地点:{ 坐标:[{0:Number,1:Number}] }, 类型:字符串, 名称:String }; 导出默认mongoose.modelcampaign,AdScheme; 但是现在我需要做一个find查询,这不是一个简单的.findOne

有谁能给我举个例子,把上面提到的转换成mongoosedb查询吗?

在mongoose中,它说mongoose有一个帮助器方法

首先,必须按如下方式更新架构:

const geoNearOptions: {
  ... //todo
}

AdModel.aggregate([
  { $geoNear: geoNearOptions}
])
const AdScheme=新模式{ 地点:{ 类型:{ 类型:字符串, 默认值:“点”, 枚举:[“点”] }, 坐标:[数字] }, 类型:字符串, 名称:String }; 然后像这样查询:

const geoNearOptions: {
  ... //todo
}

AdModel.aggregate([
  { $geoNear: geoNearOptions}
])
AdModel.find.loc在哪里 .在{中心:[50,50],半径:10,唯一:真,球形:真}内 另一种选择是使用mongoDB聚合

然后您可以在mongoose中使用它,如下所示:

const geoNearOptions: {
  ... //todo
}

AdModel.aggregate([
  { $geoNear: geoNearOptions}
])