我正在尝试通过.drdl文件上的数据库管道中的$ match阶段过滤一些数据。如果我尝试匹配像boolean这样的原始字段,那么舞台工作正常,但是当我尝试过滤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\")"]}}}
有什么建议吗?