全部产品
Search
文档中心

:Menghubungkan ke instance replika set menggunakan kode program

更新时间:Nov 09, 2025

ApsaraDB for MongoDB sepenuhnya kompatibel dengan protokol MongoDB. Topik ini menjelaskan contoh kode untuk menghubungkan ke instance replika set dalam berbagai bahasa pemrograman.

Prasyarat

Pastikan paket driver resmi untuk bahasa yang digunakan telah diunduh dan diinstal. Untuk informasi lebih lanjut, kunjungi MongoDB Drivers.

Catatan Penggunaan

Jika kata sandi instance replika set mengandung karakter khusus (! @ # $ % ^ & * ( ) _ + =), Anda harus melarikan karakter tersebut dalam string koneksi. Tabel berikut mencantumkan pemetaan antara karakter khusus dan karakter pelarian.

Karakter Khusus

Karakter Pelarian

!

%21

@

%40

#

%23

$

%24

%

%25

^

%5e

&

%26

*

%2a

(

%28

)

%29

_

%5f

+

%2b

=

%3d

Sebagai contoh, jika kata sandi asli adalah ab@#c, kata sandi dalam string koneksi diubah menjadi ab%40%23c.

Menggunakan Node.js untuk menghubungkan ke instance replika set

Untuk informasi lebih lanjut tentang Node.js Driver untuk MongoDB, lihat MongoDB Node.js Driver.

  1. Jalankan perintah berikut di klien untuk menginisialisasi proyek:

    mkdir node-mongodb-demo
    cd node-mongodb-demo
    npm init -y
  2. Jalankan perintah berikut untuk menginstal paket driver:

    npm install mongodb
  3. Dapatkan informasi yang digunakan untuk menghubungkan ke instance replika set. Untuk informasi lebih lanjut, lihat Menghubungkan ke Instance Replika Set.

  4. Simpan kode contoh berikut sebagai Node.js:

    const MongoClient = require('mongodb').MongoClient;
    
    // Nama database dan nama koleksi. 
    const demoDb = "test";
    const demoColl = "testColl";
    
    // Untuk memastikan ketersediaan tinggi, kami sarankan Anda menggunakan URI string koneksi dari instance replika set. 
    // Pastikan server tempat kode dieksekusi dapat terhubung ke instance ApsaraDB for MongoDB. 
    // Lakukan pelarian karakter khusus jika kata sandi mengandung karakter khusus. 
    const url = "mongodb://root:****@dds-2ze043****.mongodb.rds.aliyuncs.com:3717,dds-2ze043****.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-63****"
    
    console.info("url:", url);
    
    // Dapatkan MongoClient. 
    const client = new MongoClient(url);
    
    async function run() {
        try {
            // Hubungkan ke instance. 
            await client.connect();
    
            // Dapatkan handle database. 
            const database = client.db(demoDb);
    
            // Dapatkan handle koleksi. 
            const collection = database.collection(demoColl);
    
            // Rakit sebuah rekaman. 
            const demoName = "Node For Demo";
            const doc = { "DEMO": demoName, "MESG": "Hello AliCloudDB For MongoDB" };
            console.info("siap menyisipkan dokumen: ", doc);
    
            // Sisipkan sebuah rekaman. 
            const result = await collection.insertOne(doc);
            console.log(
                `Sebuah dokumen telah disisipkan dengan _id: ${result.insertedId}`,
            );
    
            // Baca data. 
            const filter = { "DEMO": demoName };
            const findResult = await collection.find(filter);
            await findResult.forEach(console.dir);
          } finally {
              // Tutup koneksi. 
              await client.close();
          }
    }
    run().catch(console.dir);
                            
  5. Jalankan perintah node Node.js.

Menggunakan PHP untuk menghubungkan ke instance replika set

Untuk informasi lebih lanjut tentang PHP Driver untuk MongoDB, lihat MongoDB PHP Driver.

  1. Jalankan perintah berikut untuk menginstal paket driver:

    $ pecl install mongodb
    
    # Dapatkan jalur file INI PHP. 
    $ php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"
    
    # Tambahkan informasi berikut ke file INI. Lewati langkah ini jika sudah ada. 
    $ extension=mongodb.so
    
    # Buat direktori proyek dan akses. 
    $ mkdir php-demo
    $ cd php-demo
    
    # Gunakan composer untuk menginstal dependensi MongoDB. Jika composer belum diinstal, Anda bisa mengunduhnya di https://getcomposer.org/download. 
    $ composer require mongodb/mongodb
  2. Dapatkan informasi yang digunakan untuk menghubungkan ke instance replika set. Untuk informasi lebih lanjut, lihat Menghubungkan ke Instance Replika Set.

  3. Simpan kode contoh berikut sebagai main.php:

    <?php
    
    require 'vendor/autoload.php'; // include Composer goodies
    
    
    // Untuk memastikan ketersediaan tinggi, kami sarankan Anda menggunakan URI string koneksi dari instance replika set. 
    // Pastikan server tempat kode dieksekusi dapat terhubung ke instance ApsaraDB for MongoDB. 
    // Lakukan pelarian karakter khusus jika kata sandi mengandung karakter khusus. 
    $replicaset_url = 'mongodb://root:****@dds-2ze043****.mongodb.rds.aliyuncs.com:3717,dds-2ze043****.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-63****';
    $test_db = 'test';
    $test_coll = 'testColl';
    
    // Buat MongoClient. 
    $client = new MongoDB\Client($replicaset_url);
    $collection = $client->$test_db->$test_coll;
    
    // Sisipkan sebuah rekaman. 
    $result = $collection->insertOne(['name' => 'ApsaraDB for Mongodb', 'desc' => 'Hello, Mongodb']);
    echo "Disisipkan dengan Object ID '{$result->getInsertedId()}'", "\n";
    
    // Query rekaman. 
    $result = $collection->find(['name' => 'ApsaraDB for Mongodb']);
    foreach ($result as $entry) {
        echo $entry->_id, ': ', $entry->name, "\n";
    }
    
    ?>
  4. Jalankan perintah php -f main.php.

Menggunakan Java untuk menghubungkan ke instance replika set

Untuk informasi lebih lanjut tentang Java Driver untuk MongoDB, lihat MongoDB Java Driver.

IDE (IntelliJ IDEA dan Eclipse IDE) digunakan dalam contoh. Untuk menghubungkan ke instance replika set dalam lingkungan IDE, JDK harus versi 8 atau lebih baru.

  1. Dapatkan informasi yang digunakan untuk menghubungkan ke instance replika set. Untuk informasi lebih lanjut, lihat Menghubungkan ke Instance Replika Set.

  2. Tambahkan dependensi Maven.

    <dependencies>
            <dependency>
                <groupId>org.mongodb</groupId>
                <artifactId>mongodb-driver-sync</artifactId>
                <version>4.8.0</version>
            </dependency>
        </dependencies>
  3. Gunakan kode contoh Java berikut.

    Catatan

    Kode berikut memberikan contoh cara mengonfigurasi manual koneksi ke instance ApsaraDB for MongoDB. Jika Anda menggunakan konfigurasi ini dalam proyek Spring Boot, kami sarankan menambahkan @SpringBootApplication(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration,class}) untuk menonaktifkan konfigurasi otomatis. Ini mencegah kegagalan koneksi karena konflik konfigurasi.

    // JDK 8 atau lebih baru. 
    
    import static com.mongodb.client.model.Filters.eq;
    import org.bson.Document;
    import com.mongodb.MongoException;
    import com.mongodb.client.MongoClient;
    import com.mongodb.client.MongoClients;
    import com.mongodb.client.MongoCollection;
    import com.mongodb.client.MongoDatabase;
    import com.mongodb.client.result.InsertOneResult;
    
    public class Main {
        public static void main( String[] args ) {
            // Untuk memastikan ketersediaan tinggi, kami sarankan Anda menggunakan URI string koneksi dari instance replika set. 
            // Pastikan server tempat kode dieksekusi dapat terhubung ke instance ApsaraDB for MongoDB. 
            // Lakukan pelarian karakter khusus jika kata sandi mengandung karakter khusus. 
            String uri = "mongodb://root:****@dds-2ze043****.mongodb.rds.aliyuncs.com:3717,dds-2ze043****.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-63****";
            String demoDb = "test";
            String demoColl = "testColl";
    
            try (MongoClient mongoClient = MongoClients.create(uri)) {
                MongoDatabase database = mongoClient.getDatabase(demoDb);
                MongoCollection<Document> collection = database.getCollection(demoColl);
    
                // Sisipkan sebuah rekaman. 
                try {
                    InsertOneResult result = collection.insertOne(new Document()
                            .append("DEMO", "Java for Demo")
                            .append("MESG", "Hello AliCloudDB For MongoDB"));
                    System.out.println("Berhasil!  Disisipkan dokumen id: " + result.getInsertedId());
                } catch (MongoException me) {
                    System.err.println("Tidak dapat menyisipkan karena kesalahan: " + me);
                }
    
                // Query rekaman pertama. 
                Document doc = collection.find(eq("DEMO", "Java for Demo")).first();
                System.out.println(doc.toJson());
    
                mongoClient.close();
            }
        }
    }
  4. Di alat IDE, klik Run.

Menggunakan Python untuk menghubungkan ke instance replika set

Untuk informasi lebih lanjut tentang Python Driver untuk MongoDB, lihat MongoDB Python Driver.

Python 3.9 digunakan dalam contoh.

  1. Instal PyMongo.

    pip install pymongo
  2. Dapatkan informasi yang digunakan untuk menghubungkan ke instance replika set. Untuk informasi lebih lanjut, lihat Menghubungkan ke Instance Replika Set.

  3. Simpan kode contoh berikut sebagai Main.py:

    # Python 3.9 digunakan untuk menjalankan kode. 
    
    from pymongo import MongoClient
    
    # Untuk memastikan ketersediaan tinggi, kami sarankan Anda menggunakan URI string koneksi dari instance replika set. 
    # Pastikan server tempat kode dieksekusi dapat terhubung ke instance ApsaraDB for MongoDB. 
    # Lakukan pelarian karakter khusus jika kata sandi mengandung karakter khusus. 
    REPLICASET_URL = 'mongodb://root:****@dds-2ze043****.mongodb.rds.aliyuncs.com:3717,dds-2ze043****.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-63****'
    testDb = 'test'
    testColl = 'testColl'
    
    # Dapatkan MongoClient. 
    client = MongoClient(REPLICASET_URL)
    
    
    # Sisipkan sebuah rekaman. 
    doc = dict(DEMO="Python for demo", MESG="Hello ApsaraDB For MongoDB")
    doc_id = client.testDb.testColl.insert_one(doc).inserted_id
    print ('doc_id:', doc_id)
    
    
    # Query rekaman. 
    for d in client.testDb.testColl.find(dict(DEMO="Python for demo")):
        print ('temukan dokumen:', d)
    
    client.close()
  4. Jalankan perintah python3.9 Main.py.

Menggunakan C# untuk menghubungkan ke instance replika set

Untuk informasi lebih lanjut tentang C# Driver untuk MongoDB, lihat MongoDB C# Driver.

IDE (Visual Studio) digunakan dalam contoh.

  1. Gunakan alat manajemen paket NuGet di Visual Studio (Project > Manage NuGet Package ) untuk mengunduh paket berikut:

    MongoDB.Driver
  2. Dapatkan informasi yang digunakan untuk menghubungkan ke instance replika set. Untuk informasi lebih lanjut, lihat Menghubungkan ke Instance Replika Set.

  3. Gunakan kode contoh C# berikut:

    using MongoDB.Bson;
    using MongoDB.Driver;
    using System;
    using System.Collections.Generic;
    
    namespace Aliyun
    {
        class Program
        {
            static void Main(string[] args)
            {
                // Untuk memastikan ketersediaan tinggi, kami sarankan Anda menggunakan URI string koneksi dari instance replika set. 
                // Pastikan server tempat kode dieksekusi dapat terhubung ke instance ApsaraDB for MongoDB. 
                // Lakukan pelarian karakter khusus jika kata sandi mengandung karakter khusus. 
                const string replicaSetUrl = "mongodb://root:****@dds-2ze043****.mongodb.rds.aliyuncs.com:3717,dds-2ze043****.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-63****";
                const string testDb = "test";
                const string testColl = "testColl";
    
                try
                {
    
                    // Hubungkan ke server dan dapatkan klien. 
                    MongoClient client = new MongoClient(replicaSetUrl);
    
    
                    // Dapatkan koleksi. 
                    var database = client.GetDatabase(testDb);
                    var collection = database.GetCollection<BsonDocument>(testColl);
    
                    // Sisipkan sebuah rekaman. 
                    var document = new BsonDocument
                                {
                                    { "name", "Csharp for Mongodb" },
                                    { "desc", "Hello ApsaraDB For MongoDB" }
                                };
                    collection.InsertOne(document);
                    Console.WriteLine("Sisipkan selesai\n");
    
                    // Query rekaman. 
                    var cursor = collection.Find(new BsonDocument{ { "name", "Csharp for Mongodb" } }).ToCursor();
                    foreach (var doc in cursor.ToEnumerable())
                    {
                        Console.WriteLine(doc);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("koneksi gagal:" + e.Message);
    
                }
            }
        }
    }
  4. Di alat IDE, klik Run.

Menggunakan Go untuk menghubungkan ke instance replika set

Untuk informasi lebih lanjut tentang Go Driver untuk MongoDB, lihat MongoDB Go Driver.

  1. Jalankan perintah berikut untuk menginstal paket driver:

    go get go.mongodb.org/mongo-driver
  2. Dapatkan informasi yang digunakan untuk menghubungkan ke instance replika set. Untuk informasi lebih lanjut, lihat Menghubungkan ke Instance Replika Set.

  3. Simpan kode contoh berikut sebagai main.go:

    package main
    
    import (
        "context"
        "fmt"
        "go.mongodb.org/mongo-driver/bson"
        "go.mongodb.org/mongo-driver/mongo"
        "go.mongodb.org/mongo-driver/mongo/options"
        "log"
    )
    
    func main() {
        // Untuk memastikan ketersediaan tinggi, kami sarankan Anda menggunakan URI string koneksi dari instance replika set. 
        // Pastikan server tempat kode dieksekusi dapat terhubung ke instance ApsaraDB for MongoDB. 
        // Lakukan pelarian karakter khusus jika kata sandi mengandung karakter khusus. 
        replicaSetUrl := "mongodb://root:****@dds-2ze043****.mongodb.rds.aliyuncs.com:3717,dds-2ze043****.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-63****"
        testDb := "test"
        testColl := "testColl"
    
    
        clientOpts := options.Client().ApplyURI(replicaSetUrl)
    
        // Hubungkan ke server dan dapatkan klien. 
        client, err := mongo.Connect(context.TODO(), clientOpts)
        if err != nil {
            fmt.Println("koneksi gagal!")
            log.Fatal(err)
            return
        }
        fmt.Println("koneksi berhasil!")
    
        // Tutup koneksi. 
        defer func() {
            if err = client.Disconnect(context.TODO()); err != nil {
                fmt.Println("pemutusan gagal!")
                log.Fatal(err)
            }
            fmt.Println("pemutusan berhasil!")
        }()
    
        // Ping server untuk memverifikasi bahwa koneksi berhasil. 
        if err = client.Ping(context.TODO(), nil); err != nil {
            fmt.Println("ping gagal!")
            log.Fatal(err)
            return
        }
        fmt.Println("ping berhasil!")
    
        // Sisipkan sebuah rekaman. 
        collection := client.Database(testDb).Collection(testColl)
        res, err := collection.InsertOne(context.Background(), bson.M{"hello": "world"})
        if err != nil {
            fmt.Println("hasil sisipan gagal!")
            log.Fatal(err)
            return
        }
        id := res.InsertedID
        fmt.Println("Id: ", id)
        fmt.Printf("hasil sisipan: %v\n", res)
    
        // Query rekaman. 
        result := bson.M{}
        filter := bson.D{{"_id", res.InsertedID}}
        if err := collection.FindOne(context.Background(), filter).Decode(&result); err != nil {
            fmt.Println("pencarian gagal!")
            log.Fatal(err)
            return
        }
        fmt.Printf("hasil: %v\n", result)
    }
                            
  4. Jalankan perintah go run main.go.

FAQ

Bagaimana cara menangani kesalahan saat saya menghubungkan ke instance menggunakan kode program?

Anda dapat menangani kesalahan dari aspek berikut saat menghubungkan ke instance menggunakan kode program:

  • Konektivitas jaringan. Anda dapat menggunakan mongo shell untuk menghubungkan ke instance sebagai pengujian konektivitas jaringan. Untuk informasi lebih lanjut, lihat Menghubungkan ke Instance Replika Set Menggunakan mongo shell.

  • Masalah kode. Setelah memastikan koneksi lancar, Anda dapat memeriksa apakah ada masalah dalam kode atau konfigurasi lingkungan runtime.