收藏
回答

云数据库聚合查询中From的值用变量?

有如下的表

MessageTable

TableA 和 TableB

其中MessageTable的记录中有个字段“SwitchTable”记录的是期望连表查询的表名,该字段的为String类型,并且值只会是TableA或者TableB。TableID记录的是查询表的ID,可TableA或者TableB的_id对应。

我需要用用到联合查询的Lookup,于是我写了下面的用法

lookup({
      from: "$SwitchTable",  
        //我希望在这里通过变量的方式引入查询表的名称,这个值来源于MessageTable中的SwitchTable字段
              localField: "TableID",
              foreignField: "_id",
              as: "Info"
    })


可是这样的语句查询出来Info字段为空,我知道肯定是我的语句有问题,因为如果我把 $SwitchTable 换成具体的值,Info是能获取到内容的。

可是这样的应该怎么写语句呢?

回答关注问题邀请回答
收藏

1 个回答

  • 王卓
    王卓
    2022-02-24

    你的意思要做两次聚合?这个思路应该可行,就是不知道性能怎么样。

    2022-02-24
    有用
    回复
登录 后发表内容