MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

O MongoDB não pode analisar a consulta (2dsphere):duas condições


Isso se deve à linguagem de consulta e como ela analisa os objetos, o objeto que você está tentando usar se parece com isso:
{ key: { query1, query2 }}

Onde query1 é $geoIntersects e query2 é $not que não é uma estrutura válida, o que você pode fazer é envolver os dois com um $e consulta assim:
{
    $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
                                    ]
                                ]
                            ]
                        }
                    }
                }
            }
        }
    ]
}