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
]
]
]
}
}
}
}
}
]
}