// 获取用户的openid var that = this; wx.cloud.callFunction({ name: 'login_get_openid', // 云函数 }).then(res=>{ console.log("云函数调用成功!",res) //抓取数据 that.setData({ openid:res.result.openid }) //将数据缓存到本地 wx.setStorage({ data:that.data.openid, key:'openid' }) // let opid=wx.getStorageSync('openid') console.log(opid) } ) const _ = db.command db.collection('login_info').where({ _openid:wx.getStorageSync('openid') }) .get({ success: res => {
小程序如何根据openid查询数据库?想设计的内容是,根据openid返回数据库用户列表集合中对应的一条信息 但是实际返回了全部的。 自己排查的时候 在let _openid = res.result.openid后面追加了console.log("userid",_openid)之后只显示有我的openid 但是下面db.collection.where.get还是返回了云数据库全部的内容(每条openid都不一样) 试着把where里面的openid:this.data._openid改成具体的一个id就可以返回那个openid的那条内容 应该是this.data._openid 出了问题但我是小白不会改 有大大能帮我看一下吗 // pages/mypage/mypage.js const app = getApp() // 设置数据库 const db = wx.cloud.database() let that = this Page({ /** * 页面的初始数据 */ data: { user_info:[], queryResultname: '', queryResultsex: '', queryResultbirthday: '', queryResultposition: '', queryResultintro: '', queryResulttel: '', }, /** * 生命周期函数--监听页面加载 */ onLoad: function () { // 从云端获取个人信息 wx.cloud.callFunction({ name: "getopenid", success(res){ // 授权用户的openid let _openid = res.result.openid } }) // 查询当前用户所有的 counters db.collection('user_info').where({ openid: this.data._openid }) .get({ success: res => { this.setData({ queryResultname: JSON.stringify(res.data[0].name, null, 0).replace("\"","").replace("\"",""), queryResultsex: JSON.stringify(res.data[0].sex, null, 0).replace("\"","").replace("\"",""), queryResultbirthday: JSON.stringify(res.data[0].birthday, null, 0).replace("\"","").replace("\"",""), queryResultposition: JSON.stringify(res.data[0].position, null, 0).replace("\"","").replace("\"",""), queryResultintro: JSON.stringify(res.data[0].intro, null, 0).replace("\"","").replace("\"",""), queryResulttel: JSON.stringify(res.data[0].tel, null, 0).replace("\"","").replace("\"",""), }) console.log('[数据库] [查询记录] 成功: ', res) }, fail: err => { wx.showToast({ icon: 'none', title: '查询记录失败' }) console.error('[数据库] [查询记录] 失败:', err) } }) },
2022-12-11