sql >> Database >  >> NoSQL >> MongoDB

Mongoose near(...) query op 2dsphere geïndexeerd veld levert geen geldige resultaten op

Het lijkt erop dat dit een moongoose-bug is .

De query wijzigen in gebruik een GeoJSON object in plaats van een coördinatenpaar , als zodanig:

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

resulteert in de volgende zoekopdracht:

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

Het zoeken is nu gelukt.

De documenten tonen expliciet een zoekopdracht met een coördinatenpaar:

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

Het lijkt er echter op dat dit niet werkt, en het voorbeeld zou moeten zijn:

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



  1. Waarom wordt er een _id met ObjectID toegevoegd wanneer $push van MongoDB wordt gebruikt om een ​​nieuw object aan een array toe te voegen?

  2. 6 cruciale Redis-bewakingsstatistieken die u moet bekijken

  3. Voeg een soort rijnummer toe aan een mongodb-aggregaatopdracht / pijplijn

  4. Docker componeren veerboot redis verbindingsprobleem