sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose near(...)-fråga på 2dsphere-indexerat fält ger inte giltiga resultat

Det här verkar vara en mångåsbugg .

Ändra frågan till att använda en GeoJSON objekt istället för ett koordinatpar , som sådan:

qry.where('loc').near({
    center: {
        type: 'Point',
        coordinates: search.loc
    },
    maxDistance: search.distance * 1000
});

resulterar i följande fråga:

Mongoose: models.find({ loc: { '$near': { 
        '$maxDistance': 1,
        '$geometry': { type: 'Point', coordinates: [ 10, -20 ] } } } 
    }) { fields: undefined }  

Sökningen lyckas nu.

Dokumenten visar uttryckligen en fråga med hjälp av ett koordinatpar:

query.where('loc').near({ center: [10, 10], maxDistance: 5 });

Det ser dock ut som att detta inte fungerar, och exemplet bör vara:

query.where('loc').near({ center: { coordinates: [10, 10], type: 'Point' }, maxDistance: 5 });



  1. Hur pausar eller återupptar man selleriuppgiften?

  2. använder en variabel i mongodb update

  3. Vad är nästa steg för Impala efter release 1.1

  4. Hur man uppdaterar och lägger upp flera dokument i MongoDB med C#-drivrutiner