Я пытаюсь отфильтровать некоторые данные через этап $ 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\")"]}}}
Есть предложения?