У меня есть данные, как показано ниже:Найти последний элемент в массиве
{
"_id" : ObjectId("569a5328c5905e1b08113987"),
"dataId" : "003f2d9c0b9b0f047df458b78a12404a",
"dataSensors" : [
{
"IoTserial" : "7ee042ad9d01e3e53c1b05d8923ce2ec",
"dateMesure" : "2016-01-16 15:51:41",
"value" : "0.47"
},
{
"IoTserial" : "aaa042ad9d0aaaaaa1b05d8923ce2aa",
"dateMesure" : "2016-01-16 15:51:40",
"value" : "15.66"
},
{
"IoTserial" : "7ee042ad9d01e3e53c1b05d8923ce2ec",
"dateMesure" : "2016-01-16 15:51:40",
"value" : "15.66"
},
{
"IoTserial" : "7ee042ad9d01e3e53c1b05d8923ce2ec",
"dateMesure" : "2016-01-16 15:51:42",
"value" : "10.15"
}
],
"statusFlag" : "POI"}
Когда я использую
db.collection.find({dataId:"003f2d9c0b9b0f047df458b78a12404a"},{dataSensors:{$elemMatch:{IoTserial:"7ee042ad9d01e3e53c1b05d8923ce2ec"}}})
возвращает первый элемент из серии,
{
"_id" : ObjectId("569a5328c5905e1b08113987"),
"dataSensors" : [
{
"IoTserial" : "7ee042ad9d01e3e53c1b05d8923ce2ec",
"dateMesure" : "2016-01-16 15:51:41",
"value" : "0.47"
}
]}
но мне нужен последний элемент с «значением»: «10.15»
Запомнился
Возможный дубликат [с помощью оператора $ ломтика, чтобы получить последний элемент массива в MongoDB] (HTTP://stackoverflow.com/questions/21952005/using-slice-operator-to-get-last-element-of-array-in-mongodb) – Idos