我试图找出为什么聚合命令在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);
});
有人能告诉我我做错了什么吗?
提前致谢。