Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Retornando uma única informação de uma collection

A partir da collection abaixo:

[
  {
    "_id": {
      "$oid": "627c4eb87e7c2b8ba510ac4c"
    },
    "Contact": [
      {
        "nome": "ABC",
        "phone": 5501234,
        "mail": "abc@mail.com"
      },
      {
        "nome": "DEF",
        "phone": 6001234,
        "mail": "def@mail.com"
      }
    ],
    "nomatter": "trash"
  }
]

como faço uma query buscar por "nome": "ABC" e retornar apenas o {"mail": "abc@mail.com"} ?

Tentei dessa forma aqui:

db.collection.find({
  "Contact.nome": "ABC"
},
{
  "Contact.mail": 1,
  "_id": 0
})

mas ocorre que o resultado é:

[
  {
    "Contact": [
      {
        "mail": "abc@mail.com"
      },
      {
        "mail": "def@mail.com"
      }
    ]
  }
]

ao qual tem e-mail indesejado. Além do campo contact que gostaria de omitir.

1 resposta
solução!

Resolvido:

https://mongoplayground.net/p/covbKvzRUZ_