¿cómo se recupera una matriz de IDs
en Mongoid
?Recuperando una matriz de identificadores en Mongoid
arr=["id1","id2"]
User.where(:id=>arr)
Esto se puede hacer fácilmente si está recuperando otro atributo
User.where(:nickname.in=>["kk","ll"])
Pero me pregunto cómo hacer esto en MongoId -> Esto debería ser una muy simple y común de operación
La solución anterior funciona bien cuando cantidad de usuarios es pequeña. Pero requerirá mucha memoria mientras haya miles de usuarios. – dpaluy
@dpaluy tienes razón, este enfoque es solo un truco. Además, los datos pueden cambiar entre la primera y la segunda consulta, especialmente cuando hay muchos documentos. Use con precaución, o mejor aún, ¡encuentre una mejor manera! – bowsersenior
La mejor manera es usar '.distinct (: _ id)' en lugar de '.map (&: _ id)'. 'distinct' funciona durante la ejecución de la consulta, que es un poco más rápido que decir a los rieles para hacer un ciclo de la matriz – Zakwan