收藏
回答

云函数查询语句,在云开发后台测试没有问题,但在小程序端总是报错,是什么原因?示例如下


以下云函数查询语句,在云开发后台测试没有问题,但在小程序端总是报错,是什么原因?db.collection('stitem').aggregate()

.lookup({

from: 'article',

localField: 'article_id',

foreignField: '_id',

as: 'article',

}).replaceRoot({

newRoot: $.mergeObjects([ $.arrayElemAt(['$article', 0]), '$$ROOT' ])

}).project({

article: 0

})

.end()

小程序端报错如下:

Error: cloud.callFunction:fail Error: errCode: -504002 functions execute fail | errMsg: ReferenceError: $ is not defined

    at get_st_detail (/var/user/index.js:71:14)

    at Runtime.exports.main [as handler] (/var/user/index.js:15:14)

    at Runtime.handleOnce (/var/runtime/node16/Runtime.engine.js:135:21)

    at Timeout._onTimeout (/var/runtime/node16/Runtime.engine.js:54:12)

    at listOnTimeout (node:internal/timers:557:17)

    at processTimers (node:internal/timers:500:7) (callId: 1714035431672-0.21178932569511377) (trace: 16:57:11 start->16:57:12 system error (Error: errCode: -504002 functions execute fail | errMsg: ReferenceError: $ is not defined

    at get_st_detail (/var/user/index.js:71:14)

    at Runtime.exports.main [as handler] (/var/user/index.js:15:14)

    at Runtime.handleOnce (/var/runtime/node16/Runtime.engine.js:135:21)

    at Timeout._onTimeout (/var/runtime/node16/Runtime.engine.js:54:12)

    at listOnTimeout (node:internal/timers:557:17)

    at processTimers (node:internal/timers:500:7)), abort)

    at R (<anonymous>:1:245532)

    at <anonymous>:1:279958(env: macOS,mp,1.06.2402040; lib: 3.4.3)

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

1 个回答

  • Mr.Zhao
    Mr.Zhao
    04-25

    lookup只能在云函数中内使用,仔细看看文档说明

    04-25
    有用
    回复 6
    • 陈桉东
      陈桉东
      04-25
      是放在云函数中了,这个错误莫名其妙啊
      04-25
      回复
    • Mr.Zhao
      Mr.Zhao
      04-25回复陈桉东
      没定义$ 很马虎呢
      04-25
      回复
    • 陈桉东
      陈桉东
      04-25
      刚才看了后台,是不支持replaceRoot函数中的$符号,但微信小程序开发示例中也是这样的写的,这个怎么处理呢,谢谢回答!
      replaceRoot({
      newRoot: $.mergeObjects([ $.arrayElemAt([$article&, 0]), $$ROOT ])
      })
      04-25
      回复
    • Mr.Zhao
      Mr.Zhao
      04-25回复陈桉东
      从哪看的,哪里说的不支持
      04-25
      回复
    • Mr.Zhao
      Mr.Zhao
      04-25回复陈桉东
      const $ = db.command.aggregate  这个代码写了吗
      04-25
      1
      回复
    查看更多(1)
登录 后发表内容