Sprawdzanie MongoDB w celu dopasowania w pierwszym elemencie tablicy
Jestem świadomy tego$in
operator, który wydaje się wyszukiwać obecność elementu w tablicy, ale chcę tylko znaleźć dopasowanie, jeśli element znajduje się na pierwszej pozycji w tablicy.
Na przykład:
{
"_id" : ObjectId("0"),
"imgs" : [
"http://foo.jpg",
"http://bar.jpg",
"http://moo.jpg",
]
},
{
"_id" : ObjectId("1"),
"imgs" : [
"http://bar.jpg",
"http://foo.jpg",
"http://moo.jpg",
]
}
Szukam zapytania podobnego do:
db.products.find({"imgs[0]": "http://foo.jpg"})
To powinno / powinno zwrócićObjectId("0")
ale nieObjectId("1")
, ponieważ sprawdza tylko pierwszy obraz w tablicy.
Jak można to osiągnąć? Wiem, że mógłbym stworzyć osobne pole zawierające pojedynczy ciąg znakówfirstImg
ale to nie jest to, czego tutaj szukam.