Soy nuevo en Nosql . estoy usando mongodb shell por primera vez. He visto otras soluciones relacionadas, pero ninguna de ellas funciona para mí. Tengo un objeto que contiene varias matrices anidadas. Quiero eliminar los datos que no están en 2016. La colección se ve así.
"_id" : ObjectId("58754aa6b10700f77b90c018"), "results" : [ { "series" : [ { "name" : "light", "columns" : [ "time", "agent_id", "device_id", "rpi_id", "type", "value" ], "values" : [ [ "1970-01-01T00:00:01.474264311Z", null, "2:1", "b07882d6-5c28-597b-89f9-d250f74b0bad", "light", "231" ], [ "1970-01-01T00:00:01.474280348Z", null, "1:1", "b07882d6-5c28-597b-89f9-d250f74b0bad", "light", "404" ], [ "1970-01-01T00:00:01.474280526Z", null, "2:1", "b07882d6-5c28-597b-89f9-d250f74b0bad", "light", "239" ], [ "2016-12-21T23:36:32Z", "fce19d9c-3bba-5b18-9854-f86776b47a9c", "4", null, null, "1019" ], [ "2016-12-21T23:36:56Z", "fce19d9c-3bba-5b18-9854-f86776b47a9c", "1", null, null, "1023" ], [ "2016-12-21T23:37:00Z", "fce19d9c-3bba-5b18-9854-f86776b47a9c", "5", null, null, "1022" ] ] } ] } ]por ejemplo, probé esta consulta para encontrarlos, pero el resultado es la colección completa:
db.lights.find({"results.series.values": {$elemMatch : {$elemMatch: {$not : /^2016/} } } })Estaré muy agradecido si alguien puede responderlo.