收藏
回答

小程序中获取数据库正常,但使用云函数却不能获得记录?视频为证,专家们看看是怎么回事,谢谢哈!


下面是演示问题的视频:

https://796c-yltx-4gp2zh15e3dbb069-1304764369.tcb.qcloud.la/q.mp4?sign=6fe5d7ff5bdf3c494cbf7e54260c63ad&t=1611411262

小程序中访问数据库可以获得2条记录,但是调用云函数却没有记录,下面是小程序

// miniprogram/pages/yltx/cs.js
Page({
  onLoadasync function (options{
    const db=wx.cloud.database()
    const _=db.command
    let r1=await db.collection('cs').aggregate()
    .match({
      group: _.elemMatch({
        creatortrue,
        name: _.or(['信息系','机电系'])
      })
    }).end()
    console.log(1,r1)


    let r2=await wx.cloud.callFunction({
      name:'cs',
    })
    console.log(2,r2)
  },
})


这写的是云函数:

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
const _=db.command
// 云函数入口函数
exports.main = async (event, context) => {
  let r1=await db.collection('cs').aggregate()
  .match({
    group: _.elemMatch({
      creatortrue,
      name: _.or(['信息系','机电系']) 
    })
  }).end()
  return r1
}


下面是集合

测试用的集合cs,总共就3条记录,group是数组,表示该用户所属的分组,一个用户可属于多个分组,creator表示是否是该组的创建者

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

2 个回答

  • brave
    brave
    2021-01-23

    使用 in 方法正常返回。

    name: _.in(["信息系", "机电系"])
    

    哈哈哈哈哈哈哈哈哈感觉老师您这个视频是在讲课 全程认真听:)

    2021-01-23
    有用 1
    回复 1
    • 2021-01-24
      没想到有人这么快的进行了回复,且是做了认真的测试,非常感谢您。


      昨天出现这个情况,觉得非常不可理解,也不知道该如何提问,我知道帖子比较多,很难引起别人的注意,官方人手不足,回答问题经常是隔靴挠痒,虽然换种方式解决了问题,但列出的应该还是问题,不知道官方能不能说明一下。


      一夜没有休息好,头疼的厉害,问题得到解决可极大缓解头疼的问题,再次向brave兄弟表示感谢!!!
      2021-01-24
      回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2021-02-02

    你好,反馈已收到,我们看看。

    2021-02-02
    有用
    回复 2
登录 后发表内容
问题标签