

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# $ menyortir ByCount
<a name="sortByCount"></a>

Baru dari versi 8.0.1.

T `$sortByCount` ahap agregasi di Amazon DocumentDB mengelompokkan dokumen masuk berdasarkan nilai ekspresi tertentu, lalu menghitung jumlah dokumen di setiap grup yang berbeda, dan mengurutkan hasil berdasarkan hitungan dalam urutan menurun. Ini setara dengan `$group` tahap dengan `$sum` akumulator diikuti oleh pang `$sort` gung di bidang hitungan.

**Parameter**
+ `expression`: Ekspresi untuk dikelompokkan berdasarkan. Ini bisa berupa jalur bidang (diawali dengan`$`) atau ekspresi agregasi yang valid.

## Contoh (MongoDB Shell)
<a name="sortByCount-examples"></a>

Contoh berikut menunjukkan cara menggunakan `$sortByCount` stage untuk menghitung dan mengurutkan dokumen berdasarkan bidang kategori.

**Buat dokumen sampel **

```
db.products.insertMany([
  { name: "Widget", category: "electronics" },
  { name: "Gadget", category: "electronics" },
  { name: "Doohickey", category: "electronics" },
  { name: "Apple", category: "food" },
  { name: "Banana", category: "food" },
  { name: "Hammer", category: "tools" }
]);
```

**Contoh kueri **

```
db.products.aggregate([
  { $sortByCount: "$category" }
]);
```

**Keluaran **

```
[
  { "_id": "electronics", "count": 3 },
  { "_id": "food", "count": 2 },
  { "_id": "tools", "count": 1 }
]
```

Hasilnya secara otomatis diurutkan `count` dalam urutan menurun.

## Contoh kode
<a name="sortByCount-code"></a>

Untuk melihat contoh kode untuk menggunakan pang `$sortByCount` gung, pilih tab untuk bahasa yang ingin Anda gunakan:

------
#### [ Node.js ]

```
const { MongoClient } = require('mongodb');

async function example() {
  const client = new MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false');

  try {
    await client.connect();
    const db = client.db('test');
    const collection = db.collection('products');

    const result = await collection.aggregate([
      { $sortByCount: "$category" }
    ]).toArray();

    console.log(result);
  } finally {
    await client.close();
  }
}

example();
```

------
#### [ Python ]

```
from pymongo import MongoClient

def example():
    client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')

    try:
        db = client['test']
        collection = db['products']

        result = list(collection.aggregate([
            { '$sortByCount': '$category' }
        ]))

        print(result)
    finally:
        client.close()

example()
```

------