sql >> データベース >  >> NoSQL >> MongoDB

$ geoNear(集約パイプライン)が正しいドキュメントを返さない

    これは「同じ」クエリではありません。別の $ match ステージでは、「フィルタリング」は「最も近い結果」が見つかった「後」にのみ実行されるためです。これは、基準が組み合わせて発行されないため、「より少ない」結果を返す可能性があることを意味します。

    そのため、 "query"があります $ geoNearのオプション

    db.place.aggregate(
    [
        { 
            $geoNear: { 
                spherical: true,
                near: { type: "Point", coordinates: [ 18.416145, -33.911973 ] },
                distanceField: "dist",
                query: {
                    "schedule.key": { "$eq": "vo4lRN_Az0uwOkgBzOERyw" } 
                }
            }
        }
    ])
    

    これは同じクエリです。または、 $nearSphere<を使用した場合もまったく同じです。 / code> $ near以降 距離の計算では、地球の曲率は考慮されません。 $ nearSphere および $ geoNear

    ただし、要点は "query"と組み合わせることです。 これが、最初の検索で両方の基準が考慮される唯一の方法であるためです。




    1. Redisで固定サイズのソートされたセット?

    2. マングースでクエリを実行するにはどうすればよいですか?

    3. Redis-カスタム変換を構成する方法

    4. node.jsでの圧縮