微信小程序 > 微信公开课 > 前端无法读取云数据库集合中的的所有记录
微信小程序,微信公开课,前端无法读取云数据库集合中的的所有记录

前端无法读取云数据库集合中的的所有记录

2019-03-15 18:14:06

微信公开课小程序热门讨论关于「前端无法读取云数据库集合中的的所有记录」的小程序开发问题
补充:前端无法读取云数据库集合中的的所有记录
展开:需求的场景描述(希望解决的问题)您好,我们在读云数据库中某个集合的所有记录(我们的例子集合的记录有60条)时,发现求集合总数的代码段总是在实际循环读取记录(云平台规定每次只能读20条记录)的后面,这样就使得计算读多少次失去了意义;另外发现循环读的时候,skip(0)报错误,代码如下   constdb1=wxclouddatabase()   constMAX_LIMIT=20   先取出集合记录总数   db1collection(BSDX3S1D1KZC)count()then(res={    thissetData({      wordnum1:restotal     }),     consolelog(restotal)   })   wordnum=thisdatawordnum1   计算需分几次取   constbatchTimes=Mathceil(wordnumMAX_LIMIT)  读取第一个20条记录   db1collection(BSDX3S1D1KZC)get({    success:res={     resdata包含该记录的数据     consolelog(res)    },    fail:err={     cosolelog(err)    }   })  循环读取第2~3个20条记录   for(leti=1;i<3;i++){3应该为batchTimes    varskipnum=i*MAX_LIMIT    db1collection(BSDX3S1D1KZC)skip(skipnum)     get({      success:res={       resdata包含该记录的数据       consolelog(res)      },      fail:err={       cosolelog(err)      }     })   }希望提供的能力请问,1怎样才能使得先取出集合记录总数的代码在“读取第一个20条记录”,和“循环读取第2~3个20条记录”的代码之前执行,这样保证循环数batchTimes能够提前算出来    2怎样防止skip(0)出错,使得“读取第一个20条记录”,和“循环读取第2~3个20条记录”的代码能合并在一个循环里即速小程序:可以把计算和下面的操作都放到一个方法里,然后在获取总条数之后调用,db1collection(BSDX3S1D1KZC)skip(0)limit(20)get(),这里的skip不能为0,如果想取前20条,可以直接db1collection(BSDX3S1D1KZC)limit(20)get()这样取就好了,在循环里加个if判断如果i==1的话执行db1collection(BSDX3S1D1KZC)limit(20)get()如果不等于1就执行db1collection(BSDX3S1D1KZC)skip(skipnum)limit(20)get():谢谢您帮助试验db1collection(BSDX3S1D1KZC)skip(0)limit(60)get()then(consolelog)catch(consoleerror)提示:VM1004:1thirdScriptErrorerrCode:401002apiparametererror|errMsg:parameteroffsetoffunctionskipmustbeprovided;atpagesWordTestWordTestpagelifeCycleMethodonLoadfunctionError:errCode:401002apiparametererror|errMsg:parameteroffsetoffunctionskipmustbeprovided atnewt(http:127001:45447appservice__dev__WAServicejs:22:14994) atObjecti[asassertRequiredParam](http:127001:45447appservice__dev__WAServicejs:22:13547) atteskip(http:127001:45447appservice__dev__WAServicejs:21:9208) attonLoad(http:127001:45447appservicepagesWordTestWordTestjs:157:40) att<anonymous(http:127001:45447appservice__dev__WAServicejs:19:13907) at$t(http:127001:45447appservice__dev__WAServicejs:19:30369) atZt(http:127001:45447appservice__dev__WAServicejs:19:31040) atsn(http:127001:45447appservice__dev__WAServicejs:20:469) atFunction<anonymous(http:127001:45447appservice__dev__WAServicejs:20:3006) atL<anonymous(http:127001:45447appservice__dev__WAServicejs:19:1500)如果将skip(0)修改为skip(1),即db1collection(BSDX3S1D1KZC)skip(1)limit(60)get()then(consolelog)catch(consoleerror)读出来的只有20条记录,无法全读出{data:Array(20),errMsg:collectionget:ok}请您再帮助看下,谢谢:db1collection(BSDX3S1D1KZC)skip(0)limit(60)get()一次全部读出来就可以了
更多有关「前端无法读取云数据库集合中的的所有记录」的讨论可以前往微信公开课小程序参与互动哦!
标签:微信公开课,小程序
微信小程序,微信公开课,前端无法读取云数据库集合中的的所有记录

「前端无法读取云数据库集合中的的所有记录」热门讨论订阅

方法1:微信扫描微信公开课小程序码即可订阅热门讨论「前端无法读取云数据库集合中的的所有记录」

方法2:微信搜索微信公开课小程序名称进入,即可订阅热门讨论「前端无法读取云数据库集合中的的所有记录」

方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热门讨论「前端无法读取云数据库集合中的的所有记录」

微信公开课小程序热门讨论「前端无法读取云数据库集合中的的所有记录」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

微信公开课热门讨论「前端无法读取云数据库集合中的的所有记录」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。