收藏
回答

云开发数据库collection.field 数组字段 project.slice方法使用不了?

const $ = db.command.project
await db.collection('chat').where({
    _id: event.id
  }).field({
    _id: true,
    chatReqUserId: true,
    chatResUserId: true,
    record: $.slice(-2)
  }).get()


const $ = db.command.project
await db.collection('chat').where({
    _id: event.id
  }).field({
    _id: true,
    chatReqUserId: true,
    chatResUserId: true,

    record: {

tags: $.slice(-2)

   }

  }).get()


报错信息: Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestID 9e68d720-fa24-11e9-b2dd-525400e8849e, cloud function service error code -504002, error message errCode: -501007 invalid parameters | errMsg: [InvalidParameterValue.QueryProjection] Query projection entered in the request is illegal. Please check your request, but if the problem persists, contact us.; ; at cloud.callFunction api; 

文档地址: https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-server-api/database/collection.field.html

两种方法都测试过了,返回了同样的报错信息,然后在command列表文档下也找不到project这个方法,不知道是否是该方法已被废除,求大佬帮忙,万分感谢

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

3 个回答

  • A🙃政
    A🙃政
    2019-10-29

    const $ = db.command.aggregate

    db.collection('test').aggregate()

    .project({

    a: $.slice(['$a', 2]),

    })

    .end().then(res => {

    console.log(res)

    })


    2019-10-29
    有用 2
    回复 2
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-10-29

    还真不行

    2019-10-29
    有用 1
    回复 5
    • 2019-10-29
      是呀,都试了一下午了
      2019-10-29
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-10-29回复
      用这个代替吧
      let _ = db.command, $ = _.aggregate
      db.collection('counters').aggregate().match({
        _id: event.id
      }).project({
        _id:true,
        chatReqUserId:true,
        chatResUserId:true,
        record: $.slice(['$record', -2]),
      }).end()
      2019-10-29
      1
      回复
    • 2019-10-29
      这个可以用,太感谢啦
      2019-10-29
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-10-29回复
      能用就好
      2019-10-29
      回复
    • coweal
      coweal
      2021-01-20回复o0o有脾气的酸奶
      请问大佬:1、请问为什么在相通环境下,相同代码段内 photos.aggregate().end() 报错 ? 而同时photos.where().get()运行正常反馈结果。错误信息及代码如下。   https://developers.weixin.qq.com/community/develop/doc/00068c62754460db469b27b175ac00
      2021-01-20
      回复
  • coweal
    coweal
    2021-01-20

    请问大佬:1、请问为什么在相通环境下,相同代码段内 photos.aggregate().end() 报错501000 ? 而同时photos.where().get()运行正常反馈结果。错误信息及代码如下。   https://developers.weixin.qq.com/community/develop/doc/00068c62754460db469b27b175ac00

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