MongoDB和nodeJS:使用2dsphere索引的高延迟时间

时间:2015-01-13 09:04:57

标签: node.js mongodb 2dsphere

我正在使用mongoDB处理nodeJS应用程序,我正试图让当前用户旁边的所有用户...

我真正的问题是,当我的查询基于“2d”索引(我在1分钟内得到大约25000个响应)时,我的应用程序运行得很好,但是当我尝试使用“2dsphere”索引时,我有很高的延迟时间(1个请求执行时间超过2秒)......

这是我的要求:

app.get('/findInsertLocGeoNear100true', function(req, res) {
    var obj = getRandomCoordonnee();//"obj" = random longitude and latitude.
      userModel.geoNear({
       type: "Point" ,
       coordinates: [ obj.lat,obj.lng ]
    },
    { maxDistance : 5,
      spherical : true,
      num : 100   
    },
    function(err, results, stats) {
        res.json(200, results);
       console.log(err);
    });
});

这是我的架构猫鼬:

var userSchema = new mongoose.Schema({
  loc: {type: [Number]},
  name : { type : String, match: /^[a-zA-Z0-9-_]+$/ },
  dateLastActivity : { type : Date, default : Date.now },
  type: Number
});

注意:MongoDB在ubuntu服务器上运行,我的索引创建时使用“db.users.ensureIndex({”loc“:”2dsphere“})”

如果您有任何建议,最佳实践或改善我的表现的建议,我会很高兴听到他们。 谢谢 ! 最好的问候。

0 个答案:

没有答案