MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB non può analizzare la query (2dsphere):due condizioni

Ciò è dovuto al linguaggio di query e al modo in cui analizza gli oggetti, l'oggetto che stai cercando di utilizzare è simile al seguente:

{ key: { query1, query2 }}

Dove query1 è $geoIntersects e query2 è $not che semplicemente non è una struttura valida, quello che puoi fare è avvolgerli entrambi con un $e interrogare in questo modo:

{
    $and: [
        {
            "footprint": {
                "$geoIntersects": {
                    "$geometry": {
                        "type": "Polygon",
                        "coordinates": [
                            [
                                [
                                    41.62109375000001,
                                    38.087716380862716
                                ],
                                [
                                    41.870727539062514,
                                    37.998201197578084
                                ],
                                [
                                    41.72393798828124,
                                    38.01268326428104
                                ],
                                [
                                    41.62109375000001,
                                    38.087716380862716
                                ]
                            ]
                        ]
                    }
                }
            }
        },
        {
            footprint: {
                "$not": {
                    "$geoWithin": {
                        "$geometry": {
                            "type": "Polygon",
                            "coordinates": [
                                [
                                    [
                                        41.62109375000001,
                                        38.087716380862716
                                    ],
                                    [
                                        41.870727539062514,
                                        37.998201197578084
                                    ],
                                    [
                                        41.72393798828124,
                                        38.01268326428104
                                    ],
                                    [
                                        41.62109375000001,
                                        38.087716380862716
                                    ]
                                ]
                            ]
                        }
                    }
                }
            }
        }
    ]
}