Mi documento es así:
{ "_id": { "$oid": "6257a55d04bf2167733f5b72" }, "attributes": { "CustomerName": "John", "CustomerID": "28374", "LoanID": "82349327409234" }, "type": "Record" }Mi reloj changestream es así:
var watchCursor = db.transactions.watch([ {$match: {"attributes.LoanID": { $exists : true }}} ]); while (!watchCursor.isExhausted()){ if (watchCursor.hasNext()){ print(JSON.stringify(watchCursor.next())); } }Pero el flujo de cambios no puede encontrar este documento. ¿Alguna idea? Tenga en cuenta que mi consulta de búsqueda se encuentra después del campo anidado dentro de los atributos.
Ah, la razón es porque el documento del evento changestream no es una copia exacta del documento real.
En caso de una actualización, el documento real reside en updateDescription.updatedFields y en caso de una inserción, reside en el campo fullDocument .