日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)小程序教程:SDK數(shù)據(jù)庫Aggregate·劃分記錄

Aggregate.bucketAuto(object:Object): Aggregate

支持端:小程序 2.7.4, 云函數(shù) 0.8.1, Web

我們提供的服務(wù)有:網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、朔州ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的朔州網(wǎng)站制作公司

聚合階段。將輸入記錄根據(jù)給定的條件劃分成不同的組,每組即一個 bucket。與 bucket 的其中一個不同之處在于無需指定 boundaries,bucketAuto 會自動嘗試將記錄盡可能平均的分散到每組中。

參數(shù)

object: Object

返回值

Aggregate

API 說明

每組分別作為一個記錄輸出,包含一個以包含組中最大值和最小值兩個字段的對象為值的 _id 字段和一個以組中記錄數(shù)為值的 count 字段。count 在沒有指定 output 的時候是默認輸出的。

bucketAuto 的形式如下:

bucketAuto({
  groupBy: ,
  buckets: ,
  granularity: ,
  output: {
    : ,
    ...
    : 
  }
})

groupBy 是一個用以決定分組的表達式,會應(yīng)用在各個輸入記錄上??梢杂?nbsp;$ 前綴加上要用以分組的字段路徑來作為表達式。除非用 default 指定了默認值,否則每個記錄都需要包含指定的字段,且字段值必須在 boundaries 指定的范圍之內(nèi)。

buckets 是一個用于指定劃分組數(shù)的正整數(shù)。

granularity 是可選枚舉值字符串,用于保證自動計算出的邊界符合給定的規(guī)則。這個字段僅可在所有 groupBy 值都是數(shù)字并且沒有 NaN 的情況下使用。枚舉值包括:R5、R10、R20、R40、R80、1-2-5、E6、E12、E24、E48、E96、E192、POWERSOF2。

output 可選,用以決定輸出記錄除了 _id 外還要包含哪些字段,各個字段的值必須用累加器表達式指定。當(dāng) output 指定時,默認的 count 是不會被默認輸出的,必須手動指定:

output: {
  count: $.sum(1),
  ...
  : 
}

在以下情況中,輸出的分組可能會小于給定的組數(shù):

  • 輸入記錄數(shù)少于分組數(shù)
  • groupBy 計算得到的唯一值少于分組數(shù)
  • granularity 的間距少于分組數(shù)
  • granularity 不夠精細以至于不能平均分配到各組

granularity 詳細說明

granularity 用于保證邊界值屬于一個給定的數(shù)字序列。

Renard 序列

Renard 序列是以 10 的 5 / 10 / 20 / 40 / 80 次方根來推導(dǎo)的、在 1.0 到 10.0 (如果是 R80 則是 10.3) 之間的數(shù)字序列。

設(shè)置 granularity 為 R5 / R10 / R20 / R40 / R80 就把邊界值限定在序列內(nèi)。如果 groupBy 的值不在 1.0 到 10.0 (如果是 R80 則是 10.3) 內(nèi),則序列數(shù)字會自動乘以 10。

E 序列

E 序列是以 10 的 6 / 12 / 24 / 48 / 96 / 192 次方跟來推導(dǎo)的、帶有一個特定誤差的、在 1.0 到 10.0 之間的數(shù)字序列。

1-2-5 序列

1-2-5 序列 表現(xiàn)與三值 Renard 序列一樣。

2的次方序列

由 2 的各次方組成的序列數(shù)字。

示例

假設(shè)集合 items 有如下記錄:

{
  _id: "1",
  price: 10.5
}
{
  _id: "2",
  price: 50.3
}
{
  _id: "3",
  price: 20.8
}
{
  _id: "4",
  price: 80.2
}
{
  _id: "5",
  price: 200.3
}

對上述記錄進行自動分組,分成三組:

const $ = db.command.aggregate
db.collection('items').aggregate()
  .bucket({
    groupBy: '$price',
    buckets: 3,
  })
  .end()

返回結(jié)果如下:

{
  "_id": {
    "min": 10.5,
    "max": 50.3
  },
  "count": 2
}
{
  "_id": {
    "min": 50.3,
    "max": 200.3
  },
  "count": 2
}
{
  "_id": {
    "min": 200.3,
    "max": 200.3
  },
  "count": 1
}

當(dāng)前文章:創(chuàng)新互聯(lián)小程序教程:SDK數(shù)據(jù)庫Aggregate·劃分記錄
分享鏈接:http://www.dlmjj.cn/article/cdhppdj.html