CoucDB в Go Operatoer - PullRequest
       1

CoucDB в Go Operatoer

0 голосов
/ 07 декабря 2018

У меня есть набор данных в диване БД, где это выглядит так.Все даты являются целыми числами.

Date          | name | address
1544054400000 |adrian| asasad
1544227200000 |john  | asasad
1543980154648 |john  | asasad

Я хочу запросить те из них, где оно больше 1544054400000 и меньше 1544227200000.

Моя строка запроса выглядит следующим образом

queryString := "{\"selector\":{\"docType\":\"" + Person + "\", \"date\":{\"$gte\":" + dateFrom + "}, \"date\":{\"$lte\":" + dateTo + "}}}"

Тем не менее, это повторяет мне все результаты.

Из того, что я знаю, это уже неявное 'И' для запроса данных.

Может кто-нибудь посоветовать?

обновление: я пробовал это

"{\"selector\":{\"$and\":\"[\"docType\":\"" + PREFIX_STicket + "\", \"betDate\":{\"$gte\":" + dateFrom + "},\"betDate\":{\"$lte\":" + dateTo + "}]}}"

Но там говорилось, что

(status: 500, message: Query string is not a SELECT SQL expression or couchdb query expression: [{\"selector\":{\"$and\":\"[\"docType\":\"4DTicket\", \"betDate\":{\"$gte\":1544169025539},\"betDate\":{\"$lte\":1544169025539}]}}]), cause=null}",

1 Ответ

0 голосов
/ 10 декабря 2018

Ваш синтаксис не является допустимым JSON.Операторы $and и $or должны быть массивами объектов.

Вот обновленная версия, которая должна работать:

"{\"selector\":{\"$and\":\"[{\"docType\":\"" + PREFIX_STicket + "\"}, {\"betDate\":{\"$gte\":" + dateFrom + "}},{\"betDate\":{\"$lte\":" + dateTo + "}}]}}"

Вот более простой пример запроса с вашими переменными:

{
  "selector": {
    "$and": [
      {
        "docType": PREFIX_STicket
      },
      {
        "betDate": {
          "$gte": dateFrom
        }
      },
      {
        "betDate": {
          "$lte": dateTo
        }
      }
    ]
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...