- 调用API传参时的$是什么,都有哪些用法?
比如API文档中的 Aggregate.lookup(object: Object): Aggregate里的 组合 mergeObjects 应用相等匹配的示例 var db = cloud.database() var $ = db.command.aggregate db.collection('orders').aggregate() .lookup({ from: "books", localField: "book", foreignField: "title", as: "bookList" }) .replaceRoot({ newRoot: $.mergeObjects([ $.arrayElemAt(['$bookList', 0]), '$$ROOT' ]) }) .project({ bookList: 0 }) .end() .then(res => console.log(res)) .catch(err => console.error(err)) 其中 newRoot:$.mergeObjects([$.arrayElemAt(['$booklist',0]),'$$ROOT']) 这一行中'$booklist'和'$$ROOT'分别都是什么用法,这里的$是什么取值方式,取的是什么值?求大佬解答
2020-03-07 - 云函数不能修改数据库?
数据库里存了菜品名称价格等数据,页面调用云函数保存修改,控制台输出调用成功但是数据一直没变 哪位大神能看下是哪里的问题 wxml代码: <button bindtap="saveData">保存</button> js代码: saveData: function (e){ var _id = this.data._id if(_id){ wx.cloud.callFunction({ name: 'databaseutil', data: { action: 'updateData', collectionname: 'good', _id: _id, dbdata: { goodname: this.data.goodname, goodtype: this.data.goodtype, maxcount: this.data.maxcount, price: this.data.price, priceunit: this.data.priceunit, unit: this.data.unit, remark: this.data.remark }, options: { //success: console.log('修改成功'), fail: console.error } } }) .then(res => { // this.setData({ // meatlist: res.result.data // }) }) .catch(console.error) } 云函数index.js: function updateData(event) { const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) const db = cloud.database() const _ = db.command exports.main = async (event, context) => { try { return await db.collection(event.collectionname).where({ _id: event._id }) .update({ data: event.dbdata, }) } catch (e) { console.error(e) } } } 云函数调试控制台: [图片] 提示成功了,但是数据库里的数据并没修改,查了一下午也没查出哪有毛病啊 想要修改的数据: [图片]
2020-02-27