

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

# \$1text
<a name="text"></a>

`$text`Operator digunakan untuk melakukan pencarian teks lengkap pada bidang yang diindeks teks dalam koleksi dokumen. Operator ini memungkinkan Anda untuk mencari dokumen yang berisi kata atau frasa tertentu, dan dapat dikombinasikan dengan operator kueri lain untuk memfilter hasil berdasarkan kriteria tambahan.

**Parameter**
+ `$search`: String teks untuk mencari.

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

Contoh berikut menunjukkan cara menggunakan `$text` operator untuk mencari dokumen yang berisi kata “minat” dan memfilter hasil berdasarkan bidang “star\$1rating”.

**Buat dokumen sampel**

```
db.test.insertMany([
  { "_id": 1, "star_rating": 4, "comments": "apple is red" },
  { "_id": 2, "star_rating": 5, "comments": "pie is delicious" },
  { "_id": 3, "star_rating": 3, "comments": "apples, oranges - healthy fruit" },
  { "_id": 4, "star_rating": 2, "comments": "bake the apple pie in the oven" },
  { "_id": 5, "star_rating": 5, "comments": "interesting couch" },
  { "_id": 6, "star_rating": 5, "comments": "interested in couch for sale, year 2022" }
]);
```

**Buat indeks teks**

```
db.test.createIndex({ comments: "text" });
```

**Contoh kueri**

```
db.test.find({$and: [{star_rating: 5}, {$text: {$search: "interest"}}]})
```

**Keluaran**

```
{ "_id" : 5, "star_rating" : 5, "comments" : "interesting couch" }
{ "_id" : 6, "star_rating" : 5, "comments" : "interested in couch for sale, year 2022" }
```

Perintah di atas mengembalikan dokumen dengan bidang yang diindeks teks yang berisi segala bentuk “minat” dan “star\$1rating” sama dengan 5.

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

Untuk melihat contoh kode untuk menggunakan `$text` perintah, pilih tab untuk bahasa yang ingin Anda gunakan:

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

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

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

  const result = await collection.find({
    $and: [
      { star_rating: 5 },
      { $text: { $search: 'interest' } }
    ]
  }).toArray();

  console.log(result);
  client.close();
}

searchDocuments();
```

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

```
from pymongo import MongoClient

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

    result = list(collection.find({
        '$and': [
            {'star_rating': 5},
            {'$text': {'$search': 'interest'}}
        ]
    }))

    print(result)
    client.close()

search_documents()
```

------