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

$Javaを介したクエリの近く

    まず、ニアドキュメントを計算するためのmaxDistanceと参照ポイントが必要です。次のコードは、近くのドキュメントをクエリするDBObjectを作成する方法を示しています。

    double[] coords = new double[2];
    long distance = 100;
    
    DBObject query = BasicDBObjectBuilder.start()
        .push("location")
            .add("$maxDistance", distance)
            .push("$near")
                .push("$geometry")
                    .add("type", "Point")
                    .add("coordinates", coords)
        .get();
    

    これにより、そのjsonが生成されます:

    {
        "location": {
            "$maxDistance": 100,
            "$near": {
                "$geometry": {
                    "type": "Point",
                    "coordinates": [
                        0,
                        0
                    ]
                }
            }
        }
    }
    

    mongodb 2.2を使用している場合、上記のコードは機能しません。以下を使用する必要があります:

    double[] coords = new double[2];
    long distance = 100;
    
    DBObject query = BasicDBObjectBuilder.start()
        .push("location")
            .add("$maxDistance", distance)
            .add("$near", coords)
        .get();
    

    jsonは次のようになります:

    {
        "location" : {
            "$maxDistance" : 100,
            "$near" : [
                0,
                0
            ]
        }
    }
    

    ニアクエリの詳細については、こちらをご覧ください:

    http://docs.mongodb.org/manual/reference/operator/near/




    1. MongoDBでのSqlBulkCopyの使用

    2. mongodbのフィールドの値のみを返す方法

    3. SQLを使用したMongoDB結合のリンクと作成:パート2

    4. PythonでMongoDBAtlas認証に失敗しました