私はイベントアプリケーションを構築していて、特定の日付にすべてのイベントを取得し、その場所で私に並べ替えたいと考えています。どのようにこのようなリクエストを実装するのですか?これは、スキーマの外観です:MongoDB日別照会と距離で並べ替え
$ nearを使用して場所を照会することができますが、私はこれを実行することができました。しかし、最初に "start_time"をクエリしてから、その日付のイベントを私の距離まで並べ替えたいと思います。任意の提案は非常にありがたくあります;)
私はイベントアプリケーションを構築していて、特定の日付にすべてのイベントを取得し、その場所で私に並べ替えたいと考えています。どのようにこのようなリクエストを実装するのですか?これは、スキーマの外観です:MongoDB日別照会と距離で並べ替え
$ nearを使用して場所を照会することができますが、私はこれを実行することができました。しかし、最初に "start_time"をクエリしてから、その日付のイベントを私の距離まで並べ替えたいと思います。任意の提案は非常にありがたくあります;)
私はそれがこのクエリで動作するように得ることができた:
{
location: {
$near : {
$geometry: { type: "Point", coordinates: [longitude,latitude]
},
$maxDistance: 10000
}
},
$and: [
{ start_time : {$gte: now, $lt: tomorrow} }
]
}
パイプライン演算子の$geoNear
を使用してください。ドキュメントが、指定したポイントに近い順にを返します。 $geoNear
には、呼び出し中のquery
オプションを使用して、start_time
(または任意のクエリ式)にルックアップをさらに制約するよう指示できます。詳細はこちら: https://docs.mongodb.com/manual/reference/operator/aggregation/geoNear/
おかげで、これは私の小さな例えば複雑に少しだった私はそれが$とオペレータに動作するようになったとねじれ"ソート"少し。とにかく、ありがとう –