$lookup
Configura LookupSpec basado en simple join y let/pipeline, etapa raw nativa del controlador, flujo de unwind y conteo de lookup.
campoLocal / campoExtranjero
let + pipeline + $expr
• bindConditionFields(leftField, condition, rightField)
• bindConditionFieldsLeftToObjectId(...)
• bindConditionConst, bindConditionBetween, bindConditionLike
• bindConditionExists, bindConditionIsNull, bindConditionIsNotNull
• rawStage(Bson) para etapas de pipeline de lookup nativas del controlador
• unwind(preserveNullAndEmptyArrays)
• outerStage(Bson) / outerStages(...) para etapas después de $lookup
Ejecutar Lookup
unwind(...)를 사용하지 않은 기본 findAll lookup은 right 결과를 List<R>로 반환합니다. 단건 left/right가 필요하면 find().executeLookup(...) 경로를 사용합니다.
Lookup + conteo / existe
executeLookupAndCount(...) devuelve data y totalCount en forma de $facet(data, count). El constructor count/exists también puede recibir el resultado de lookup como tuplas izquierda/derecha.