小程序云开发查询数据库返回的值是什么样子的?
我想要在云函数里面做一些逻辑判断,但是始终获取不到Collection.get()中的值
想要在添加一条数据之前先判断数据库中是否存在,不存在则新增
但是在if那个位置一直不知道怎么去判断
cool是中间变量
我尝试着把cool stringify,但是出来的东西是空的 但是return到小程序那边又有值在里面
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext();
var cool = null
try {
console.log('openid:' + event._openid)
cool = db.collection('user_info').where({
_openid:event._openid
}).get({
success: function (res) {
return res
}
});
} catch (e) {
console.error(e);
}
if (cool.data._openid==undefined){
db.collection('user_info').add({
// data 字段表示需新增的 JSON 数据
data: {
_openid: wxContext.OPENID,
}
})
console.log("没有找到openid,新增成功")
cool = db.collection('user_info').where({
_openid: event._openid
}).get({
success: function (res) {
return res
}
});
}
console.log("cool2str:" + JSON.stringify(cool));
return cool
}
5 回复
collection.get() 的返回值是在 success 的回调函数中的:
db.collection('user_info').where({
_openid:event._openid
}).get({
success: function (res) {
// res 中包含 get() 获取的数据
return res
}
});