问题描述
我试图在DBref id字段(mongodb)上创建一个过滤器。生成的SQL查询如下所示
SELECT
`part_r_f_q_dpa`.`partRFQId` `part_r_f_q_dpa__partrfqid`,`part_r_f_q_dpa`.`noOfApproval` `part_r_f_q_dpa__noofapproval`,`part_r_f_q_dpa`.`CurrentApproved` `part_r_f_q_dpa__currentapprove`
FROM
makethepart.`directPartApproval` AS `part_r_f_q_dpa`
LEFT JOIN makethepart.`partRFQ` AS `part_r_f_q` ON `part_r_f_q_dpa`.partRFQId = `part_r_f_q`._id
WHERE
(`part_r_f_q`.`creatorBuyer.$id` = ?)
GROUP BY
1,2,3
ORDER BY
1 ASC
LIMIT
10000
我收到一个错误“错误:'where子句'中的未知列'part_r_f_q.creatorBuyer。$ id'”。 模式中维度下的代码摘录如下
creatorbuyer: {
sql: `${CUBE}.\`creatorBuyer.$id\``,type: string
有人可以让我知道如何处理如上所示的dbrefs ids
解决方法
Mongo BI中的
$id
被称为_id
。您应该使用_id
而不是$id
。