繁体   English   中英

mongodb中用户之间的自定义搜索

[英]custom search between users in mongodb

数据

location:{
    type: String ,
    required: true
}

HTML注册

<label>location*</label>
<select name="location" class="long" id="location">
    <label class="optional">location</label>
    <option value="blah">blah</option>
    <option value="blahh">blahh</option>
    <option value="blahh">blahh</option>
</select>

我希望用户在同一位置查看其他用户的个人资料(作为建议),因此我以注册表格的形式添加位置选择,因此如何从他的数据库中提取其位置并将其作为条件放在find({})

  • 这可能吗 ?
  • 还是有更好或更实用的方法来做到这一点?

我不确定我是否完全理解您的问题,但是我会根据对问题的理解回答您。 如果您希望能够计算出用户位置之间的距离,那么这就是您要做的。

  1. 将用户的位置存储为用户文档中的字段。

     { id:1, name: John, coordinates:[latitude, longitude] } 
  2. 然后,您可以在服务器上使用$ geoNear管道来使所有用户都靠近otherUsersCoordinates ,这也是一个列表[纬度,经度]。

     db.users.aggregate([ { $geoNear:{ near: {coordinates: otherUsersCoordinates}, distanceField: "distance.calculated", maxDistance: radius, num: parseInt(limit), spherical: true } ]); 

如果这是您要的答案,那么上述方法将使您成为所有最近的用户。 然后,您可以根据需要使用结果填充HTML。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM