Localizar vários documentos
Nesta página
Você pode recuperar vários documentos de uma coleção usando um método como Model::where()
ou métodos da face DB
para corresponder aos documentos e, em seguida, chamando o método get()
para recuperar os resultados.
Passe um filtro de query para o método where()
para recuperar documentos que atendam a um conjunto de critérios. Quando você chama o método get()
, o MongoDB retorna os documentos correspondentes de acordo com sua ordem natural na coleção ou de acordo com a ordem de classificação que você pode especificar usando o método orderBy()
.
Dica
Para saber mais sobre outras maneiras de recuperar documentos com a integração do Laravel, consulte o guia Operações de leitura .
Exemplo
Selecione a partir das seguintes abas Eloquent e Query Builder para visualizar exemplos de uso para a mesma operação que usa cada sintaxe de query correspondente:
Este exemplo executa as seguintes ações:
Utiliza o modelo
Movie
Eloquent para representar a coleção dosample_mflix
movies
banco de dados doRecupera e imprime documentos da coleção
movies
que correspondem a um filtro de consulta
O exemplo chama os seguintes métodos no modelo Movie
:
where()
: corresponde a documentos em que o valor do camporuntime
é maior que900
orderBy()
: classifica documentos correspondentes por seus valores_id
crescentesget()
: recupera os resultados da query como um objeto de collection do Laravel
$movies = Movie::where('runtime', '>', 900) ->orderBy('id') ->get();
// Results are truncated [ { "_id": ..., "runtime": 1256, "title": "Centennial", ..., }, { "_id": ..., "runtime": 1140, "title": "Baseball", ..., }, ... ]
Este exemplo executa as seguintes ações:
Acessos a coleção
movies
chamando o métodotable()
a partir da faseDB
Recupera e imprime documentos da coleção
movies
que correspondem a um filtro de consulta
O exemplo chama os seguintes métodos de construtor de query:
where()
: corresponde a documentos em que o valor do camporuntime
é maior que900
orderBy()
: classifica documentos correspondentes por seus valores_id
crescentesget()
: recupera os resultados da query como um objeto de collection do Laravel
$movies = DB::table('movies') ->where('runtime', '>', 900) ->orderBy('_id') ->get();
// Results are truncated [ { "_id": ..., "runtime": 1256, "title": "Centennial", ..., }, { "_id": ..., "runtime": 1140, "title": "Baseball", ..., }, ... ]
Para saber como editar seu aplicativo Laravel para executar o exemplo de uso, consulte a página de exemplos de uso.