收藏
回答

小程序云开发_openid不会自动填充问题?

每条记录都有一个 _id 字段用以唯一标志一条记录、一个 _openid 字段用以标志记录的创建者,即小程序的用户。需要特别注意的是,在管理端(控制台和云函数)中创建的不会有 _openid 字段,因为这是属于管理员创建的记录。开发者可以自定义 _id,但不可自定义和修改 _openid 。_openid 是在文档创建时由系统根据小程序用户默认创建的,开发者可使用其来标识和定位文档。

上述是文档表述。我的问题是:当我用微信开发者工具尝试添加新的记录时,能成功添加,但是系统默认的字段_openid(包括其他如:createdAt、owner等)都是空的,这算是管理员创建的?我添加了一个体验成员,并上传小程序了体验版,体验成员真机扫码后也能添加,但是系统默认字段_openid等还是不会自动添加。何解?

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
  db.collection('news').add({
    data:{
      title:"我在峡谷做牛马",
      content:"我与兰陵王不共戴天"
    }
  }).then(res=>{
    return res
  }) 
}


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

2 个回答

  • Daddysam
    Daddysam
    09-28

    在小程序前端调用db.collection().add()才会自动添加的,云函数添加的话默认不会加上去的,可以先获取到openid再添加上去。

    09-28
    有用
    回复
  • 跨商通
    跨商通
    09-27

    解决办法:小程序端直接调用db.collection().add()

    09-27
    有用
    回复
登录 后发表内容