我使用loopback查询MongoDb数据库。数据库有一个我必须处理的旧版本2.2
。
不幸的是,它似乎无法使用near
子句执行查询,因为它组成了一个像这样的对象:
location: {
$near: {
$geometry: {
coordinates: [12.0684,41.2432],
type: 'Point',
},
},
$maxDistance: 10
}
相反,我使用的db版本允许以这种格式进行查询:
location: {
$near: [12.0684,41.2432],
$maxDistance: 10
}
我的问题是:有没有办法可以强制loopback-connector-mongodb
在后者的查询中回退?
谢谢
答案 0 :(得分:0)
是的,有一种方法可以做到这一点。您需要获取连接器,提取集合并执行查询。像这样:
Model.getDataSource().connector.connect(function (err, db) {
var collection = db.collection(Model.getModelName());
collection.find(query, function (err, res) { // define whichever query you need
if(err) {
cb(err);
return;
}
res.toArray(function (err, realRes) { // this part is crucial
// otherwise if you try to print res you will get a dump of the db object
if(err) {
cb(err);
return;
}
}
}