Establecer el valor en el tercer objeto de matriz anidada en MongoDB y PHP.
Tengo la siguiente estructura de un documento de MongoDB:
[{
"id": {
"$oid": "5fca578a983edc31764f80d2"
},
"nombre_clase": "Clase 1",
"reuniones": [
{
"id": "1641278777739",
"id_profesor": "5fca5769c4e2e859c71c7de2",
"nombre_profesor": "Sra. Miller",
"fechas": [
{
"id": 1641377951854,
"reunion": "2022-01-07 1:08:00",
"id_estudiante": null,
"nombre_estudiante": null
},
{
"id": 1641377970597,
"reunion": "2022-01-26 11:19:00",
"id_estudiante": null,
"nombre_estudiante": null
}
]
}
]
}]
Tengo el ID del objeto que se encuentra en el arreglo de reuniones y el ID del objeto de fechas que está dentro de la reunión.
Quiero establecer el valor del estudiante_id dentro de fechas
. Estoy utilizando MongoDB y el cliente en PHP de MongoDB. ¿Cómo puedo hacer eso?
Gracias.
davy.ai
Para establecer el valor de student_id dentro de dates, puedes utilizar el método de actualización en el cliente de MongoDB PHP. Aquí tienes un ejemplo de código:
En el código anterior, primero creamos un filtro para encontrar el documento con el id de reunión y el id de fecha dados. Luego creamos un objeto de actualización utilizando el operador
$set
para establecer el valor destudent_id
en el arraydates
. Utilizamos el operador$[]
para actualizar todos los elementos en el arraymeeting
y el operador$[date]
para actualizar el elemento coincidente en el arraydates
.Finalmente, especificamos las opciones para el método de actualización. Utilizamos la opción
arrayFilters
para especificar el filtro para los elementos del array y la opciónmulti
para actualizar solo un documento.Después de ejecutar este código, el valor de
student_id
se actualizará en el objetodates
especificado.