l***@163.com
l***@163.com
  • 发布:2023-05-14 21:00
  • 更新:2024-05-08 10:10
  • 阅读:232

【报Bug】云对象查询数据库,get里面添加getCount, 不能返回正常的Count总数

分类:uniCloud

产品分类: uniCloud/App

操作步骤:

const db = uniCloud.database()
const newsCategoryCollectionName = 'news-categories'
const newsCategoryCollection = db.collection(newsCategoryCollectionName)

db.collection('news-categories').skip(0).limit(20).get({
getCount: true
});

预期结果:

{
"result": {
"affectedDocs": 2,
"code": 0,
"count": 2,
"data": [
{
"_id": "6460d1c7f43e60d7b693d0a4",
"create_date": "2023-05-14 12:19:19",
"description": "111",
"name": "1111111"
},
{
"_id": "6460d1e8819ce8deee50172a",
"create_date": "2023-05-14 12:19:52",
"description": "22222",
"name": "222"
}
],
"errCode": 0,
"errMsg": "",
"message": "",
"systemInfo": [
],
"timeCost": 1323
}
}

实际结果:

{
affectedDocs: 2,
data:
[ { _id: '6460d1c7f43e60d7b693d0a4',
name: '1111111',
description: '111',
create_date: '2023-05-14 12:19:19' },
{ _id: '6460d1e8819ce8deee50172a',
name: '222',
description: '22222',
create_date: '2023-05-14 12:19:52' } ] } { page: { total: 2 },
items:
[ { _id: '6460d1c7f43e60d7b693d0a4',
name: '1111111',
description: '111',
create_date: '2023-05-14 12:19:19' },
{ _id: '6460d1e8819ce8deee50172a',
name: '222',
description: '22222',
create_date: '2023-05-14 12:19:52' } ]
}

bug描述:

【报Bug】云对象查询数据库,get里面添加getCount, 不能返回正常的Count总数,但是在JQL查询示例里面,可以返回正常的数据字段 count。两者返回的数据不一样。新增的云对象,确认加入库了。"extensions": { "uni-cloud-jql": {} }
用的云对象 URL方式。

2023-05-14 21:00 负责人:无 分享
已邀请:
呆狗的一生

呆狗的一生 - 呆狗的一生

提供更多的代码,比如db是怎么来的

呆狗的一生

呆狗的一生 - 呆狗的一生

试试把db改成下面的:

    const dbJQL = uniCloud.databaseForJQL({ // 获取JQL database引用,此处需要传入云函数的event和context,必传  
        event,  
        context   
    })
  • l***@163.com (作者)

    event, content传什么?

    2023-05-14 21:53

  • 呆狗的一生

    回复 l***@163.com: 云函数接收的两个参数

    2023-05-14 21:55

  • l***@163.com (作者)

    回复 呆狗的一生: 我用的云对象。这样写就ok了。谢谢啦

    const dbJQL = uniCloud.databaseForJQL({

    clientInfo: this.getClientInfo()

    })

    const res = await dbJQL.collection('news-categories').skip(skip).limit(limit).orderBy('update_date', 'desc')

    .get({

    getCount: true

    })

    2023-05-14 21:57

呆狗的一生

呆狗的一生 - 呆狗的一生

呆狗的一生

呆狗的一生 - 呆狗的一生

目前DCloud把操作数据库的方法分为:

  1. 传统方式
  2. jql语法

它们在使用时,有一些语法差别,比如为get方法提供更多的参数,传统方式是不支持的,其它还有一些权限问题。

  • l***@163.com (作者)

    但是,官网文档说的比较少,,,也没有说这个区别。

    2023-05-14 22:10

  • l***@163.com (作者)

    还有一个问题,this.getUniIdToken() 为什么返回空的,在云对象的 _before: function()里面

    2023-05-14 22:11

1***@qq.com

1***@qq.com

我连数据都不返回,不知道为啥

要回复问题请先登录注册