Монгодб с Графаной - PullRequest
       0

Монгодб с Графаной

0 голосов
/ 24 марта 2020

Я пытаюсь добавить новый запрос в MongoDb через Grafana, но я получаю ошибку.

Если я попытаюсь выполнить следующий простой запрос:

 db.sensordata.aggregate ( [      
     {"$project" :   {  "name" : "$name",   "value" : "$value",  "ts" : "2020-03-03", "_id":0 }}
     ])

Я получу: "doc.ts.getTime is not a function"

И если я пытаюсь преобразовать строку даты в тип даты:

db.sensordata.aggregate ( [      
 {"$project" :   {  "name" : "$name",   "value" : "$value",  "ts" :  {$toDate:"2018-03-03"}, "_id":0 }}
 ])

, я получаю: "Unexpected token $ in JSON at position 81"

Я также пытался:

 {$dateFromString: { dateString: "2016-03-04T04:07:55.144Z", timezone: “America/New_York”} 

и

{$Convert{ input:  "2018-03-03", to: "date" }}

Но я не могу заставить его работать.
Запросы работают с MongoDb Console, но не с Grafana.
Может кто-нибудь помочь?

РЕДАКТИРОВАТЬ: я нашел решения. Кажется, что преобразование строки в тип даты в плагине Grafana MongoDb не работает. Может быть, это не поддерживается. Я изменил время строки на реальный тип даты, когда добавил его в базу данных Mon go. Тогда мне не нужно конвертировать его в запросе.

 db.sensordata.aggregate ( [      
         {"$project" :   {  "name" : "$name",   "value" : "$value",  "ts" : "$date", "_id":0 }}
         ])

1 Ответ

0 голосов
/ 24 марта 2020

Я нашел решения.

Кажется, что преобразование строки в тип даты в плагине Grafana MongoDb не работает. Может быть, это не поддерживается. Я изменил время строки на реальный тип даты, когда добавил его в базу данных Mon go. Тогда мне не нужно конвертировать его в запросе.

 db.sensordata.aggregate ( [      
         {"$project" :   {  "name" : "$name",   "value" : "$value",  "ts" : "$date", "_id":0 }}
         ])
...