Mongo DB Connector for BI - mongosqld - 无法在数据库管道上使用ObjectId

时间:2018-05-12 20:41:48

标签: mongodb

我正在尝试通过.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\")"]}}}

有什么建议吗?

0 个答案:

没有答案