Aggregate在命令行中工作,但不在mongoose中工作

时间:2016-04-19 02:28:49

标签: node.js mongodb mongoose aggregation-framework

我试图找出为什么聚合命令在mongoDB中工作但不在mongoose中工作:

db.providers.aggregate({$geoNear{near[-117.67625427246094,33.58256912231445],
distanceField: "dist", 
spherical: true, maxDistance: 71591.87002706563, query{type_id:1}}}).pretty();

以下内容返回一行:

"provider_id" : 1366826512,
"providername" : "Dover XXXX",
"loc" : {
    "type" : "Point",
    "coordinates" : [
        -117.9081489,
        33.6195128
    ]
},
"dist" : 0.003432172265332921

但是同样的命令不能用mongoose返回任何东西。

Provider.aggregate([
        { 
            $geoNear: { 
                near: { type: "Point", coordinates: [parseFloat(pLatLngArray[0]), parseFloat(pLatLngArray[1])] }, 
                distanceField: "dist",
                spherical: true, 
                //distanceMultiplier: 3963.2,
                maxDistance: parseFloat(pRadius),
                query: { type_id: pType },
            } 
        }
        ],
        function(err, result){              
        if (err) {
            console.log("ERROR: ProviderModel::listProviders: ", err);
            return callback([]);
        }
        console.log(JSON.stringify(result));        


        return callback(result);
    });

有人能告诉我我做错了什么吗?

提前致谢。

0 个答案:

没有答案