收藏
回答

这个为什么不能生效?返回的是空。

.project({

                renzhengid: $.concatArrays(['$rzid', '$renzheng']),

                xinxi: 1,

            })

            .lookup({

                from: 'renzheng',

                let: {

                    renzhengii: '$renzhengid',

                },

                pipeline: $.pipeline()

                    .match(_.expr($.in(['$_id', '$$renzhengii'])))

或者:.match(_.expr($.in(['$_id', ['00001', '00002']])))

                    .done(),

                as: 'renzhengxx',

            })

在云端,这个无法生效。但是在小程序段,这个是生效的。

.match(_.expr($.in(['$_id', ['00001', '00002']])))

我的写法哪里有问题吗

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

1 个回答

  • 跨商通
    跨商通
    2023-03-06

    说反了吧?lookup只能在云函数中生效,所以你这条语句只能在云端执行,不能在小程序端执行。

    2023-03-06
    有用
    回复 1
    • 织游
      织游
      2023-03-07
      我说的是,下面那句,在小程序端能生效。但是小程序端不能用LOOKUP,所以无法测试,我的写法错在哪。 如果只用.where(_.expr($.in(['$_id', ['00001', '00002']]))).get() 可以生效。但是match却不可以。
      2023-03-07
      回复
登录 后发表内容