Este tutorial demonstra como indexar e executar queries do MongoDB Search em campos que estão dentro de uma array de documentos, mesmo quando a própria array de documentos está aninhada. Para habilitar queries nestes campos, indexe os campos do documento como o tipo embeddedDocuments.
O tutorial nesta página demonstra consultas em campos nos seguintes tipos de arrays:
- Array de documentos. 
- Array de documentos dentro de um documento. 
- Array de documentos dentro de um array de documentos. 
Antes de começar, certifique-se de que seu cluster atenda aos requisitos descritos nos pré-requisitos.
Para demonstrar como executar queries em relação a documentos incorporados, este tutorial orienta você pelas seguintes etapas:
- Crie uma coleção de amostra denominada - schoolscom documentos embutidos em seu cluster.
- Configure um índice do MongoDB Search com campos embeddedDocuments configurados nos seguintes caminhos: - teachersCampo
- teachers.classesCampo
- clubs.sportsCampo
 
- Execute queries - $searchque pesquisam os documentos incorporados na coleção- schoolsusando o composto com embeddedDocument e text.
- Execute uma query - $searchMetaem um campo de documento incorporado para obter uma contagem.
Sobre a Coleção
A coleção de amostra schools contém três documentos. Cada documento contém o name e o mascot da escola, o nome ''primeiro'' e last de cada professor, o classes que eles ensinam, incluindo o subject e grade, e os vários clubs disponível.
Sobre o índice
O índice para esta coleção especifica os seguintes documentos em arrays:
- Os documentos das arrays nos caminhos - teacherse- teachers.classessão indexados como embeddedDocuments, e os campos dentro dos documentos são indexados dinamicamente.
- Os documentos nas arrayes no caminho - teacherstambém são indexados como o tipo de documento para suportar o realce, e os campos dentro dos documentos são indexados dinamicamente.
- O documento no campo - clubsé indexado como o tipo de documento com mapeamentos dinâmicos habilitados, e as arrays de documentos no campo- clubs.sportssão indexadas como o tipo- embeddedDocumentscom mapeamentos dinâmicos habilitados.
Sobre as queries
As queries de amostra do Atlas Search os documentos incorporados na coleção schools. As queries usam os seguintes estágios de pipeline:
- $searchpara pesquisar a collection.
- $projectpara incluir e excluir campos da coleção e adicionar um campo denominado- scorenos resultados. Para consultas que permitem fazer destaques, o estágio- $projecttambém adiciona um novo campo chamado- highlights, que contém as informações de destaque.
Os tutoriais demonstram as seguintes queries:
Esta query demonstra uma pesquisa em um campo dentro de um array de documentos.
Ele pesquisa no caminho teachers os professores com o primeiro nome John e especifica uma preferência por professores com o sobrenome Smith. Ele também habilita fazer destaques no campo de nome last.
Essa query demonstra uma pesquisa em um campo dentro de uma array de documentos que está aninhada em um documento.
Ele procura escolas que tenham clubes esportivos que ofereçam aos alunos a oportunidade de jogar dodgeball ou frisbee no caminho clubs.sports.
Esta consulta é composta e pesquisa campos dentro dos seguintes arrays:
- Array de documentos. 
- Array de documentos aninhados dentro de um array de documentos. 
Ela pesquisa instituições que têm um professor lecionando science para a 12th série no caminho teachers.classes, dando preferência a professores com sobrenome Smith que lecionam essa matéria. Ele também permite realçar o campo subject dentro do array classes dos documentos que está aninhado dentro do array teachers de documentos.
Observação
O tutorial para seu cluster também inclui uma consulta $searchMeta para obter uma contagem do número de escolas que oferecem aulas em cada série.
Executar queries em relação a documentos incorporados
Este tutorial demonstra amostras de queries do MongoDB Search em campos em documentos incorporados. Para saber mais sobre essas queries, consulte Sobre este tutorial.