Я сталкиваюсь со следующей проблемой, когда запрашиваю Orion с помощью orderBy и запрашиваю результаты в хронологическом порядке.Мои данные выглядят так:
{
"id": "some_unique_id",
"type": "sensor",
"someVariable": {
"type": "String",
"value": "1",
"metadata": {}
},
"datetime": {
"type": "DateTime",
"value": "2018-09-21T00:38:57.00Z",
"metadata": {}
},
"humidity": {
"type": "Float",
"value": 55.9,
"metadata": {}
},
"someMoreVariables": {
"type": "Float",
"value": 6.29,
"metadata": {}
}
Мой звонок выглядит так:
http://my.ip.com:1026/v2/entities?type=sensor&offset=SOMENUMBERMINUS30&limit=30&orderBy=datetime
К сожалению, ответ следующий:
{
"error": "InternalServerError",
"description": "Error at querying MongoDB"}
И арендатор, исубтенданты используются в вызове, в то время как версия Orion 1.13.0-следующая и арендатор был проиндексирован внутри MongoDB.Я использую Orion и MongoDB из разных экземпляров Docker на одном сервере.Как всегда, любая помощь будет высоко оценена.
EDIT1 : После рекомендации fgalan я добавляю относительную запись из журнала (извините, я не сделал это изначало):
BadInput some.ip time = 2018-10-16T07: 47: 36.576Z |lvl = ОШИБКА |corr = bf8461dc-d117-11e8-b0f1-0242ac110003 |транс = 1539588749-153-00000013561 |from = some.ip |srv = some_tenant |subsrv = / some_subtenant |comp = Orion |op = AlarmManager.cpp [211]: dbError |msg = Срабатывание тревоги DatabaseError: nextSafe (): {$ err: "Ошибка исполнителя: OperationFailed: Операция сортировки использовала более 33554432 байт оперативной памяти. Добавьте индекс или укажите меньший предел.", код: 17144} time =2018-10-16T07: 47: 36,576Z |lvl = ОШИБКА |corr = bf8461dc-d117-11e8-b0f1-0242ac110003 |транс = 1539588749-153-00000013561 |from = some.ip |srv = some_tenant |subsrv = / some_subtenant |comp = Orion |op = AlarmManager.cpp [235]: dbErrorReset |msg = Сброс тревоги DatabaseError
Из вышесказанного ясно, что индексация необходима.Я уже сделал это в соответствии с ответом Фгалана на другой вопрос, который у меня был в прошлом: Индексирование Ориона
РЕДАКТИРОВАНИЕ2 : Ответ Ориона после индексации:
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "orion.entities"
},
{
"v" : 2,
"key" : {
"location.coords" : "2dsphere"
},
"name" : "location.coords_2dsphere",
"ns" : "orion.entities",
"2dsphereIndexVersion" : 3
},
{
"v" : 2,
"key" : {
"creDate" : 1
},
"name" : "creDate_1",
"ns" : "orion.entities"
}
]