¿Qué es un buen patrón para consultar documentos incrustados en un documento? Por ejemplo, mi documento de usuario tiene un documento Alerts incrustado. Si quiero ver si un determinado usuario tiene una alerta con el nombre que puedo hacerlo de dos maneras por lo que yo puedo decir - en memoria a laConsultar documentos incrustados en un documento con MongoMapper
alert = current_user.alerts.select{|a| a.name == params[:name]}.first
oa través de la interfaz de documento real a la (en cuenta que no estoy 100% seguro de que esto es semánticamente válida, pero usted consigue el punto):
User.where('alerts.name' => params[:name], :id => current_user.id).first
tiene que haber una manera mejor, algo así como
current_user.alerts.where(:name => params[:name])
quizás? O tal vez solo no estoy pensando en el problema ¿verdad?
lo siento, no puedo responder a su pregunta directamente (no la suficiente experiencia mapeador) pero mira [Valeroso] (https: // github .com/jnunemaker/plucky). Es una lang de consulta sobre MongoDB y tal vez puede obtener una sintaxis un poco más sucinta. –