samedi 28 février 2015

Multiple near with mongoose

I have the following "query":



MySchema
.where('address1.loc').near({
center: {
type: 'Point',
coordinates: user.address1.loc
},
maxDistance: 10 * 1000
}).where('address2.loc').near({
center: {
type: 'Point',
coordinates: user.address2.loc
},
maxDistance: 10 * 1000
})
.exec(function(err, objects) {
console.log(err);
console.log(objects);

if(err) return eachCallback(err);

return eachCallback();
});


My schema has two addresses (one pickup- and one handover-address). So I have to use two "nears". But this doesn't seem to be possible:


{ [MongoError: Can't canonicalize query: BadValue Too many geoNear expressions] name: 'MongoError' }


What are my alternatives?


Update: I talked to some guys from MongoDB. Although my use case for this is valid, this doesn't seem to be possible out-of-the-box. So I'm looking for a "workaround". If you need details about the use case, let me know.


And here is how I defined the location inside my "addresses":



...
loc: {type: [Number], index: '2dsphere'},
...

Aucun commentaire:

Enregistrer un commentaire