Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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 构建实时地理空间应用程序的最佳实践?_Javascript_Node.js_Mongodb_Geospatial - Fatal编程技术网

Javascript 构建实时地理空间应用程序的最佳实践?

Javascript 构建实时地理空间应用程序的最佳实践?,javascript,node.js,mongodb,geospatial,Javascript,Node.js,Mongodb,Geospatial,我喜欢为基于地理的多人游戏构建后端。经过长时间的研究,我发现NodeJS和MongoDB是实现这一点的最佳方法(因为mongodbs2d索引的可能性和geoJson的支持) 我需要的基本功能是,用户可以在他们的移动应用程序(在地图上)上看到对方。为了避免轮询数据库,我决定使用WebSocket将用户的当前位置发送到服务器。 但是,问题是反过来的:我如何知道用户在数据库中的位置何时发生了变化?这里的轮询(例如每5秒一次)是否是一个适当的解决方案?例如: db.places.find(

我喜欢为基于地理的多人游戏构建后端。经过长时间的研究,我发现NodeJS和MongoDB是实现这一点的最佳方法(因为mongodbs2d索引的可能性和geoJson的支持)


我需要的基本功能是,用户可以在他们的移动应用程序(在地图上)上看到对方。为了避免轮询数据库,我决定使用WebSocket将用户的当前位置发送到服务器。 但是,问题是反过来的:我如何知道用户在数据库中的位置何时发生了变化?这里的轮询(例如每5秒一次)是否是一个适当的解决方案?例如:

    db.places.find(
   {
     location:
       { $near :
          {
            $geometry: { type: "Point",  coordinates: [ -73.9667, 40.78 ] },
            $minDistance: 1000,
            $maxDistance: 5000
          }
       }
   }
)

或者,当我尝试将所有活动用户的位置数据存储在RAM中时,应用程序无法扩展到多个节点实例,对吗?

node绝对是正确的选择,但我建议查看一下。它具有更重要的意义。这确实比从婴儿身上拿糖果容易。