Я пытаюсь добавить новый запрос в 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 }}
])