Mongo DB Connector для BI - mongosqld - Невозможно использовать ObjectId в конвейере базы данных - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь отфильтровать некоторые данные через этап $ match в конвейере базы данных в файле .drdl.Этап работает нормально, если я пытаюсь сопоставить примитивное поле, как логическое, но когда я пытаюсь отфильтровать поле ObjectId, mongosqld помещает кавычки во все, и сцена возвращает 0 документов.

DRDL-файл:

schema:
- db: mydb
  tables:
  - table: cars
    collection: cars
    pipeline: [{"$match":{"maker":{"$in":[ObjectId("599c404e7611234567890000")]}}}]
    columns:
    - Name: _id
      MongoType: bson.ObjectId
      SqlName: _id
      SqlType: varchar
    - Name: maker
      MongoType: bson.ObjectId
      SqlName: maker
      SqlType: varchar
    - Name: active
      MongoType: bool
      SqlName: active
      SqlType: boolean
    - Name: model
      MongoType: string
      SqlName: model
      SqlType: varchar
...

В отладочной информации mongosqld я вижу, что этап $ match был преобразован в:

{"$match":{"maker":{"$in":["ObjectId(\"599c404e7611234567890000\")"]}}}

Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...