新聞中心
AggregateCommand.let(value: any): Object
支持端:小程序 2.7.4, 云函數(shù) 0.8.1, Web
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、做網(wǎng)站、滄縣網(wǎng)絡(luò)推廣、小程序制作、滄縣網(wǎng)絡(luò)營銷、滄縣企業(yè)策劃、滄縣品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供滄縣建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
聚合操作符。自定義變量,并且在指定表達式中使用,返回的結(jié)果是表達式的結(jié)果。
參數(shù)
value: any
返回值
Object
API 說明
let 的語法如下:
db.command.aggregate.let({
vars: {
<變量1>: <變量表達式>,
<變量2>: <變量表達式>,
...
},
in: <結(jié)果表達式>
})
vars 中可以定義多個變量,變量的值由 變量表達式 計算而來,并且被定義的變量只有在 in 中的 結(jié)果表達式 才可以訪問。
在 in 的結(jié)果表達式中訪問自定義變量時候,請在變量名前加上雙美元符號( $$ )并用引號括起來。
示例代碼
假設(shè)代表商品的集合 goods 的記錄如下:price 代表商品價格,discount 代表商品折扣率,cost 代表商品成本
{ "cost": -10, "discount": 0.95, "price": 100 }
{ "cost": -15, "discount": 0.98, "price": 1 }
{ "cost": -10, "discount": 1, "price": 10 }
借助 let 可以定義并計算每件商品實際的銷售價格,并將其賦值給自定義變量 priceTotal。最后再將 priceTotal 與 cost 進行取和( sum )運算,得到每件商品的利潤。
代碼如下:
const $ = db.command.aggregate
db
.collection('goods')
.aggregate()
.project({
profit: $.let({
vars: {
priceTotal: $.multiply(['$price', '$discount'])
},
in: $.sum(['$$priceTotal', '$cost'])
})
})
.end()
返回的數(shù)據(jù)結(jié)果如下:
{ "profit": 85 }
{ "profit": -14.02 }
{ "profit": 0 } 新聞名稱:創(chuàng)新互聯(lián)小程序教程:SDK數(shù)據(jù)庫Command·聚合操作符·變量操作符
新聞來源:http://m.fisionsoft.com.cn/article/ccseedp.html


咨詢
建站咨詢

