En solicitud almacenamos un List<Viaje> Referenciado
Deseamos buscar los Viajes que tengan realizado = no y que no aparezcan en la lista embebida de Solicitud
Menu
Formulario
Controller
case "viajesinsolicitud":
viajeList = new ArrayList<>();
Bson filter_ = Filters.eq("realizado", "no");
List<Viaje> list = viajeRepository.findBy(filter_, new Document("idviaje", -1));
if (list != null || list.isEmpty()) {
}
//Busca en la solicitud si existe una solicitud con ese viaje asignado
for (Viaje v : list) {
Bson filter = Filters.or(
Filters.eq("viaje.0.idviaje", v.getIdviaje()),
Filters.eq("viaje.1.idviaje", v.getIdviaje())
);
List<Solicitud> solicitudList = solicitudRepository.findBy(and(eq("activo","si"),filter), new Document("idsolicitud", -1));
if(solicitudList ==null || solicitudList.isEmpty()){
viajeList.add(v);
}
}
break;