sql >> Databáze >  >> NoSQL >> MongoDB

Jak spustit příkaz runCommand s Mongoose?

Za prvé, zatím neexistuje žádný praktický obal pro přímé použití geoNear s Mongoose (vzhledem k tomu, že chcete přečíst vypočítanou vzdálenost).

Ale protože kolekce Mongoose proxy všechny metody sběru z nativního nativního ovladače MongoDB stačí použít jejich metodu geoNear , i když se musíte vzdát trochu pohodlí, které byste mohli očekávat od Mongoose, a podle mých zjištění bylo zpracování chyb trochu jiné.

Každopádně takto byste mohli použít uvedené API:

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;
  }
});

Správné zpracování chyb a jak vypočítat vzdálenosti naleznete v dokumentaci .



  1. Desetinné / plovoucí v mongoose pro node.js

  2. mongodb jak změnit výchozí port

  3. regex mongodb nefunguje

  4. Silný pokles výkonu s MongoDB Change Streams