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, chamar o método get()
para recuperar os resultados.
Passe um filtro de query para o where()
método para recuperar documentos que atendam a um conjunto de critérios. Quando você chama o get()
método, 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 orderBy()
método.
Dica
Para saber mais sobre outras maneiras de recuperar documentos com a integração do Laravel, consulte o guiade 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 de_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 de_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.