MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Encontrando linhas distintas no escopo com mongoid


Embora não seja tão limpo quanto apenas poder chamar .distinct em um critério, esta solução alternativa fornece os resultados esperados:
Person.find(Person.nearby(location_in_new_york, 1).distinct(:_id))

Isso não funciona (como escrito) como um escopo, no entanto, você teria que torná-lo um método de classe. Pessoalmente, eu gostaria de adicionar um patch ao mongoid para adicionar um .unique método que faz o que você deseja (já que o MongoDB é responsável por retornar valores de campo em vez de documentos quando você usa seu operador distinto:http://www.mongodb.org/display/DOCS/Aggregation )