MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie führe ich runCommand mit Mongoose aus?

Zunächst einmal gibt es noch keinen Komfort-Wrapper, um geoNear direkt mit Mongoose zu verwenden (vorausgesetzt, Sie möchten die berechnete Entfernung auslesen).

Aber da Mongoose-Sammlungen alle Sammelmethoden proxieren aus dem nativen nativen MongoDB-Treiber Sie können einfach ihre geoNear-Methode verwenden , obwohl Sie ein wenig Komfort aufgeben müssen, den Sie vielleicht von Mongoose erwarten, und meiner Erfahrung nach war die Fehlerbehandlung ein wenig anders.

Wie auch immer, so könnten Sie diese API verwenden:

YourModel.collection.geoNear(lon, lat, {spherical: true, maxDistance: d}, function(err, docs) {
  if (docs.results.length == 1) {
    var distance = docs.results[0].dis;
    var match = docs.results[0].obj;
  }
});

Informationen zur korrekten Fehlerbehandlung und Informationen zur Berechnung der Entfernungen finden Sie in der Dokumentation .