使用_id,使用geoNear和query参数进行MongoDB-Mongoose聚合

时间:2015-07-13 19:12:58

标签: mongodb mongoose aggregation-framework

我正在努力让代码正常运行。 我必须从我已经拥有的一系列_ids中选择一些基于距离的人。

我正在尝试:

Volunteer.aggregate(
    [
      {
        "$geoNear": {
            "near": {
                "type": "Point",
                "coordinates": [7.6852228, 45.0714124]
            },
            "distanceField": "distance",
            "maxDistance": 1000,
            "spherical": true,
            "query": { _id: "5597f359bc2683902b3ba7b2" }
            /*"query": { 
                "_id": { "$in" : ["5597f359bc2683902b3ba7b2"] }
            }*/
          }
      }, {
          "$sort": {
          "distance": -1
          }
      } // Sort nearest first
    ],
      function(err, docs) {
        if(err){
          res.jsonFail(err);
        }else{
          res.jsonSuccess(docs);
        }
      }
  );

如果我作为查询参数的字段传递_id,我得到零结果。

如果我将其评论出来,或者通过其他字段(例如名字)进行搜索,则会显示结果。

有人遇到过这个问题吗?

0 个答案:

没有答案