Ponieważ za każdym razem masz dokładny format pola (okrąg jest tablicą dwuelementową), możesz przekształcić je w ramach agregacji na dwa pola, a następnie porównać je w projekcji i dopasować, aby uzyskać z powrotem tylko elementy spełniające Twoje wymagania drugi element tablicy jest większy niż pierwszy element tablicy.
db.place.aggregate( [
{ $unwind : "$center" },
{ $group : { _id : "$_id",
centerX : {$first:"$center"},
centerY : {$last:"$center"}
} },
{ $project : { YgtX : { $gt : [ "$centerY", "$centerX" ] } } },
{ $match : { YgtX : true } }
] );
Teraz, jeśli twoja tablica była arbitralną parą wartości liczbowych, możesz użyć powyższego.
W komentarzach powiedziałeś, że twoja para reprezentuje współrzędne (długość, szerokość) - pamiętaj, że w MongoDB pary współrzędnych są zawsze przechowywane tak długo, lat - jeśli twoje rzeczywiste wartości x, y były współrzędnymi w miejscu płaskim (w przeciwieństwie do sferycznego), możesz znaleźć wszystkie dokumenty, których współrzędna Y jest większa niż współrzędna X za pomocą pojedynczego zapytania geoprzestrzennego:
db.place.find( { center : { $geoWithin : { $geometry : {
type:"Polygon",
coordinates:[[[50,50],[-50,50],[-50,-50],[50,50]]]
} } } } );
Powyższe zapytanie zakłada, że twój układ współrzędnych rozciąga się od -50 do 50 wzdłuż X i Y i znajduje wszystkie punkty w trójkącie, który reprezentuje wszystkie współrzędne mające Y>=X.