Consultando o MongoDB para corresponder no primeiro item de uma matriz
Estou ciente do$in
operador, que parece procurar a presença de um item na matriz, mas eu só quero encontrar uma correspondência se o item estiver na primeira posição em uma matriz.
Por exemplo:
{
"_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",
]
}
Estou procurando uma consulta semelhante a:
db.products.find({"imgs[0]": "http://foo.jpg"})
Isto deveria / deveria devolver oObjectId("0")
mas nãoObjectId("1")
, como é apenas verificar contra a primeira imagem na matriz.
Como isso pode ser alcançado? Estou ciente que eu poderia apenas criar um campo separado que contém uma única string parafirstImg
mas não é bem isso que eu estou procurando aqui.