All Products
Search
Document Center

Data Transmission Service:Sinkronisasi data dari instans set replika ApsaraDB for MongoDB ke fungsi Function Compute

Last Updated:Jul 21, 2026

Layanan Transmisi Data (DTS) mendukung sinkronisasi data inkremental dari instans set replika ApsaraDB for MongoDB ke fungsi tertentu di Function Compute (FC). Anda dapat menulis kode fungsi untuk melakukan pemrosesan tambahan terhadap data yang telah disinkronkan.

Prasyarat

  • Anda telah membuat instans set replika ApsaraDB for MongoDB sebagai sumber. Untuk informasi lebih lanjut, lihat Buat instans set replika.

  • Anda telah membuat layanan dan fungsi tujuan serta mengatur Handler Type menjadi Event Handler. Untuk membuat fungsi, lihat Buat fungsi dengan cepat.

    Catatan

    Hanya Function Compute (FC) 2.0 yang didukung.

Catatan penggunaan

Jenis

Deskripsi

Batasan database sumber

  • Kebutuhan bandwidth: Server tempat database sumber berada harus memiliki bandwidth outbound yang mencukupi. Jika tidak, kecepatan sinkronisasi dapat terpengaruh.

  • Koleksi yang akan disinkronkan harus memiliki primary key atau kendala UNIK, dan nilai field tersebut harus unik. Jika tidak, data duplikat dapat muncul di database tujuan.

  • Dokumen tunggal dalam database sumber tidak boleh melebihi 16 MB. Jika melebihi, tugas DTS akan gagal karena DTS tidak dapat menulis data ke Function Compute (FC). Untuk menyinkronkan hanya beberapa field saja, gunakan ETL untuk memfilter field besar.

  • Jika Anda melakukan sinkronisasi pada tingkat koleksi, satu tugas sinkronisasi mendukung hingga 1.000 koleksi. Jika melebihi batas ini, tugas akan gagal dengan error setelah dikirim. Untuk mengatasi hal ini, bagi koleksi menjadi beberapa batch dan konfigurasikan beberapa tugas. Atau konfigurasikan tugas sinkronisasi seluruh database.

  • Database sumber Anda tidak boleh merupakan Azure Cosmos DB for MongoDB atau Amazon DocumentDB (elastic cluster).

  • Database sumber harus mengaktifkan Oplog dan menyimpan Oplog minimal selama tujuh hari. Atau aktifkan Change Streams dan pastikan DTS dapat berlangganan perubahan data dalam tujuh hari terakhir melalui Change Streams. Jika tidak, DTS mungkin gagal menangkap perubahan data, sehingga menyebabkan kegagalan tugas. Dalam kasus ekstrem, hal ini dapat menyebabkan inkonsistensi atau kehilangan data. Masalah-masalah tersebut tidak dicakup oleh Perjanjian Tingkat Layanan (SLA) DTS.

    Penting
    • Kami merekomendasikan penggunaan Oplog untuk menangkap perubahan data.

    • Hanya MongoDB 4.0 dan versi setelahnya yang mendukung Change Streams. Change Streams tidak mendukung sinkronisasi dua arah.

    • Jika database sumber Anda adalah Amazon DocumentDB (non-elastic cluster), aktifkan Change Streams secara manual. Saat mengonfigurasi tugas, atur Migration Method menjadi ChangeStream dan atur Architecture menjadi Sharded Cluster.

  • DTS tidak mendukung koneksi ke database MongoDB menggunakan alamat SRV.

Batasan lainnya

  • DTS tidak mendukung sinkronisasi data dari database admin, config, dan local.

  • Tugas sinkronisasi data penuh tidak didukung.

  • Tugas sinkronisasi lintas wilayah tidak didukung.

  • Pemetaan tidak didukung.

  • Hindari menyinkronkan beberapa tugas DTS ke fungsi tujuan yang sama. Gunakan fungsi berbeda untuk tugas berbeda agar data terisolasi. Jika tidak, data tujuan dapat menjadi tidak teratur.

  • Informasi transaksi tidak dipertahankan. Transaksi di database sumber menjadi catatan individual di database tujuan.

  • DTS tidak mendukung sinkronisasi koleksi time-series yang diperkenalkan di MongoDB 5.0 dan versi setelahnya.

  • Jika suatu tugas gagal, staf dukungan DTS akan berusaha memulihkannya dalam waktu delapan jam. Selama proses pemulihan, mereka mungkin merestart tugas atau menyesuaikan parameternya.

    Catatan

    Hanya parameter tugas DTS yang dimodifikasi—bukan parameter database. Parameter yang mungkin disesuaikan termasuk yang tercantum dalam Modifikasi parameter instans.

Kasus khusus

Jika database sumber Anda adalah MongoDB yang dikelola sendiri:

  • Jika terjadi alih bencana primer/sekunder di database sumber selama sinkronisasi, tugas akan gagal.

  • DTS menghitung latensi dengan membandingkan stempel waktu dokumen terakhir yang disinkronkan dengan stempel waktu saat ini. Jika database sumber tidak memiliki pembaruan dalam waktu lama, informasi latensi mungkin tidak akurat. Jika latensi tampak terlalu tinggi, jalankan operasi pembaruan di database sumber untuk memperbarui informasi latensi.

Catatan

Jika Anda memilih sinkronisasi seluruh database, buat tabel heartbeat. Lakukan pembaruan atau penulisan ke tabel ini setiap detik.

Penagihan

Jenis sinkronisasi

Biaya konfigurasi tugas

Sinkronisasi data inkremental

Dikenai biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan.

Operasi sinkronisasi yang didukung

Jenis sinkronisasi

Deskripsi

Sinkronisasi inkremental

Oplog

Sinkronisasi data inkremental tidak mereplikasi database yang dibuat setelah tugas dimulai. Perubahan berikut direplikasi:

  • CREATE COLLECTION dan CREATE INDEX

  • DROP DATABASE, DROP COLLECTION, dan DROP INDEX

  • RENAME COLLECTION

    Catatan

    Operasi RENAME COLLECTION tidak direplikasi jika opsi dropTarget diatur ke true.

  • Penyisipan, pembaruan, dan penghapusan dokumen dalam sebuah koleksi.

    Catatan

    Untuk pembaruan dokumen, hanya mereplikasi operasi yang menggunakan perintah $set.

Change stream

Perubahan berikut direplikasi:

  • DROP DATABASE dan DROP COLLECTION

  • RENAME COLLECTION

    Catatan

    Operasi RENAME COLLECTION tidak direplikasi jika opsi dropTarget diatur ke true.

  • Penyisipan, pembaruan, dan penghapusan dokumen dalam sebuah koleksi.

    Catatan

    Untuk pembaruan dokumen, hanya mereplikasi operasi yang menggunakan perintah $set.

Izin yang diperlukan untuk akun database

Database

Izin yang diperlukan

Metode pembuatan dan otorisasi

Instans sumber ApsaraDB for MongoDB

Izin baca pada database sumber, admin, dan local.

Kelola izin pengguna database MongoDB

Catatan

Jika Anda menggunakan ChangeStream sebagai metode sinkronisasi inkremental, akun database sumber memerlukan izin baca Change Streams di seluruh instans (seperti readAnyDatabase). Jika sumbernya adalah instans ApsaraDB for MongoDB dengan akun kustom, Anda juga harus memberikan izin baca pada database admin. Untuk detailnya, lihat Izin akun root yang ditentukan saat pembuatan instans.

Prosedur

  1. Buka halaman daftar tugas sinkronisasi di wilayah tujuan. Anda dapat menggunakan salah satu dari dua metode berikut:

    Dari Konsol DTS

    1. Masuk ke Konsol Data Transmission Service (DTS).

    2. Di panel navigasi sebelah kiri, klik Data Synchronization.

    3. Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.

    Dari Konsol DMS

    Catatan

    Operasi aktual dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, lihat Mode sederhana dan Sesuaikan tata letak dan gaya antarmuka DMS.

    1. Masuk ke Data Management (DMS).

    2. Di bilah menu atas, pilih Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.

  2. Klik Create Task untuk membuka halaman konfigurasi tugas.

  3. Konfigurasikan database sumber dan tujuan.

    Kategori

    Konfigurasi

    Deskripsi

    N/A

    Task Name

    DTS secara otomatis menghasilkan nama tugas. Kami merekomendasikan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tersebut tidak harus unik.

    Source Database

    Select Existing Connection

    • Untuk menggunakan instans database yang telah ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.

      Catatan

      Di Konsol DMS, item konfigurasi ini bernama Select a DMS database instance..

    • Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan informasi database berikut secara manual.

    Database Type

    Jenis database sumber. Pilih MongoDB.

    Access Method

    Pilih Alibaba Cloud Instance.

    Instance Region

    Pilih wilayah instans sumber ApsaraDB for MongoDB.

    Replicate Data Across Alibaba Cloud Accounts

    Menentukan apakah data disinkronkan lintas Akun Alibaba Cloud. Dalam contoh ini, pilih No.

    Architecture

    Pilih Replica Set.

    Migration Method

    Pilih metode untuk sinkronisasi data inkremental sesuai kebutuhan Anda.

    • Oplog (Direkomendasikan):

      Opsi ini tersedia jika Oplog diaktifkan untuk database sumber.

      Catatan

      Oplog diaktifkan secara default untuk database MongoDB yang dikelola sendiri dan instans ApsaraDB for MongoDB. Metode ini menawarkan latensi lebih rendah untuk tugas sinkronisasi inkremental karena log diambil lebih cepat. Kami merekomendasikan memilih Oplog.

    • ChangeStream:

      Opsi ini tersedia jika Change Streams diaktifkan untuk database sumber.

      Catatan
      • Jika database sumber adalah instans Amazon DocumentDB (non-elastic cluster), Anda hanya dapat memilih ChangeStream.

      • Jika Anda mengatur Architecture database sumber menjadi Sharded Cluster, Anda tidak perlu menentukan Shard account dan Shard password.

    Instance ID

    Pilih ID instans sumber ApsaraDB for MongoDB.

    Authentication Database

    Masukkan nama database autentikasi untuk akun instans sumber ApsaraDB for MongoDB. Nama default adalah admin.

    Database Account

    Masukkan akun database untuk instans sumber ApsaraDB for MongoDB. Untuk persyaratan izin, lihat Persyaratan izin untuk akun database.

    Database Password

    Masukkan kata sandi yang sesuai dengan akun database.

    Encryption

    DTS mendukung tiga metode koneksi: Non-encrypted, SSL-encrypted, dan Mongo Atlas SSL. Opsi untuk Encryption bervariasi berdasarkan Access Method dan Architecture yang dipilih. Opsi yang ditampilkan di konsol berlaku.

    Catatan
    • Database MongoDB dengan Architecture Sharded Cluster dan Migration Method Oplog tidak mendukung SSL-encrypted.

    • Jika sumbernya adalah database MongoDB yang dikelola sendiri (Access Method bukan Alibaba Cloud Instance) dengan arsitektur Replica Set, dan Anda memilih SSL-encrypted, DTS juga memungkinkan Anda mengunggah sertifikat CA untuk memverifikasi koneksi.

    Destination Database

    Select Existing Connection

    • Untuk menggunakan instans database yang telah ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.

      Catatan

      Di Konsol DMS, item konfigurasi ini bernama Select a DMS database instance..

    • Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan informasi database berikut secara manual.

    Database Type

    Pilih Function Compute.

    Access Method

    Pilih Alibaba Cloud Instance.

    Instance Region

    Secara default, nilainya sama dengan Instance Region database sumber dan tidak dapat diubah.

    Service

    Nama layanan Function Compute tujuan.

    Function

    Fungsi tujuan di Function Compute (FC) yang menerima data.

    Service Version and Alias

    Pilih opsi sesuai kebutuhan.

    • Default Version: Service Version tetap di LATEST.

    • Specified Version: Pilih Service Version.

    • Specified Alias: Pilih Service Alias.

    Catatan

    Untuk informasi lebih lanjut tentang istilah Function Compute, lihat Istilah.

  4. Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.

    Catatan
    • Pastikan blok CIDR alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi lebih lanjut, lihat Tambahkan blok CIDR alamat IP server DTS ke daftar putih.

    • Jika database sumber atau tujuan adalah database yang dikelola sendiri (di mana Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

  5. Konfigurasikan objek tugas.

    1. Di halaman Configure Objects, konfigurasikan objek yang akan disinkronkan.

      Konfigurasi

      Deskripsi

      Synchronization Types

      Hanya Incremental Data Synchronization yang didukung, dan dipilih secara default.

      Data Format

      Format penyimpanan data yang disinkronkan ke fungsi FC. Hanya Canal Json yang didukung.

      Catatan

      Untuk deskripsi parameter dan contoh format Canal Json, lihat Deskripsi Canal Json.

      Source Objects

      Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik 向右 untuk memindahkannya ke kotak Selected Objects.

      Catatan

      Anda dapat memilih objek pada tingkat database atau koleksi.

      Selected Objects

      Di kotak Selected Objects, konfirmasi data yang akan disinkronkan.

      Catatan
      • Untuk menghapus objek, pilih objek tersebut di kotak Selected Objects lalu klik zuoyi.

      • Untuk memfilter operasi pembaruan inkremental berdasarkan database atau koleksi, klik kanan objek di kotak Selected Objects dan pilih operasi di kotak dialog yang muncul.

    2. Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.

      Konfigurasi

      Catatan

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas pada kluster bersama, dan Anda tidak perlu memilih kluster. Untuk kinerja yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi lebih lanjut, lihat Apa itu kluster khusus DTS?.

      Retry Time for Failed Connections

      Setelah tugas sinkronisasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan error dan segera mulai mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi kustom antara 10 hingga 1.440 menit. Kami merekomendasikan agar Anda mengatur durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.

      Catatan
      • Jika Anda memiliki beberapa instans DTS (misalnya, Instans A dan Instans B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu percobaan ulang jaringan menjadi 30 menit untuk Instans A dan 60 menit untuk Instans B, durasi yang lebih pendek yaitu 30 menit akan digunakan untuk keduanya.

      • Karena DTS membebankan biaya berdasarkan waktu proses tugas selama periode percobaan ulang koneksi, kami merekomendasikan agar Anda menyesuaikan durasi percobaan ulang sesuai kebutuhan bisnis atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.

      Retry Time for Other Issues

      Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-konektivitas lainnya pada database sumber atau tujuan (seperti exception eksekusi DDL atau DML), DTS melaporkan error dan segera memulai operasi percobaan ulang berkelanjutan. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi percobaan ulang dalam rentang 1 hingga 1.440 menit. Kami merekomendasikan agar Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.

      Penting

      Nilai untuk Retry Time for Other Issues harus lebih kecil daripada nilai untuk Retry Time for Failed Connections.

      Obtain the entire document after it is updated.

      Saat sinkronisasi data inkremental, tentukan apakah akan menyinkronkan data lengkap dokumen yang sesuai dengan operasi pembaruan ke tujuan.

      Catatan

      Item konfigurasi ini hanya tersedia ketika Migration Method diatur ke ChangeStream.

      • Yes: Menyinkronkan data lengkap dokumen yang berisi field yang diperbarui.

        Penting
        • Fitur ini berdasarkan kemampuan native MongoDB dan dapat meningkatkan beban pada database sumber. Hal ini dapat mengurangi kecepatan pengumpulan data inkremental dan menyebabkan latensi pada instans sinkronisasi.

        • Jika DTS gagal mendapatkan data lengkap, hanya data field yang diperbarui yang disinkronkan.

      • No: Hanya menyinkronkan data field yang diperbarui.

      Enable Throttling for Incremental Data Synchronization

      Anda juga dapat mengatur batas laju untuk tugas sinkronisasi inkremental. Untuk mengurangi tekanan pada database tujuan, atur RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).

      Environment Tag

      Jika diperlukan, pilih tag lingkungan untuk mengidentifikasi instans. Untuk contoh ini, tidak perlu pemilihan.

      Configure ETL

      Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi lebih lanjut, lihat Apa itu ETL? Nilai yang valid:

      Monitoring and Alerting

      Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.

  6. Simpan tugas dan jalankan pemeriksaan awal.

    • Untuk melihat parameter API untuk mengonfigurasi instans ini, arahkan kursor ke tombol Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters di balon informasi.

    • Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.

    Catatan
    • Sebelum pekerjaan sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Pekerjaan hanya dapat dimulai setelah semua item pemeriksaan awal lolos.

    • Jika pemeriksaan awal gagal, klik View Details untuk item yang gagal. Perbaiki masalah sesuai petunjuk, lalu jalankan pemeriksaan awal lagi.

    • Jika pemeriksaan awal mengembalikan peringatan:

      • Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti instruksi untuk memperbaiki masalah, lalu jalankan pemeriksaan awal lagi.

      • Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan pemeriksaan awal ulang. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti inkonsistensi data dan menimbulkan risiko bagi bisnis Anda.

  7. Beli instans.

    1. Ketika Success Rate mencapai 100%, klik Next: Purchase Instance.

    2. Di halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter-parameter ini secara rinci.

      Kategori

      Parameter

      Deskripsi

      New Instance Class

      Billing Method

      • Subscription: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan bayar sesuai penggunaan. Semakin lama durasi langganan, semakin tinggi diskonnya.

      • Pay-as-you-go: Anda dikenai biaya per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat melepas instans segera setelah digunakan untuk menghemat biaya.

      Resource Group Configuration

      Kelompok sumber daya tempat instans berada. Default-nya adalah kelompok sumber daya default. Untuk informasi lebih lanjut, lihat Apa itu Resource Management?.

      Link Specification

      DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi link sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi lebih lanjut, lihat Spesifikasi link sinkronisasi data.

      Subscription Duration

      Dalam mode subscription, pilih durasi dan jumlah untuk instans langganan. Anda dapat memilih langganan bulanan dari 1 hingga 9 bulan, atau langganan tahunan selama 1, 2, 3, atau 5 tahun.

      Catatan

      Opsi ini hanya tersedia ketika metode penagihan adalah Subscription.

    3. Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Klik Buy and Start. Di kotak dialog OK, klik OK.

      Anda dapat melihat progres tugas di halaman Data Synchronization.

Langkah selanjutnya

Format data yang diterima oleh layanan tujuan

Data yang diterima FC bertipe Object. Data inkremental dari database sumber disimpan dalam field Records sebagai array. Setiap elemen dalam array adalah catatan data bertipe Object. Tabel berikut menjelaskan field-field dari Object tersebut.

Catatan

FC menerima dua jenis data: DML dan DDL.

  • DDL: Mencatat perubahan struktur database, seperti CreateIndex, CreateCollection, DropIndex, dan DropCollection.

  • DML: Mencatat operasi data di database, seperti INSERT, UPDATE, dan DELETE.

Field

Kategori

Catatan

isDdl

Boolean

Menunjukkan apakah operasi tersebut merupakan operasi Data Definition Language (DDL). Nilai yang valid:

  • True: Ya.

  • False

type

String

Jenis operasi SQL.

  • Nilai yang valid untuk operasi DML: DELETE, UPDATE, dan INSERT.

  • Nilai yang valid untuk operasi DDL: DDL.

database

String

Nama database MongoDB.

table

String

Nama koleksi MongoDB.

pkNames

String

Nama primary key untuk MongoDB tetap _id.

es

Long

Waktu eksekusi operasi di database sumber. Nilainya adalah stempel waktu UNIX 13 digit. Satuan: milidetik.

Catatan

Gunakan mesin pencari untuk menemukan konverter stempel waktu UNIX.

ts

Long

Waktu mulai penulisan ke database tujuan. Ini adalah stempel waktu UNIX 13 digit dalam milidetik.

Catatan

Gunakan mesin pencari untuk menemukan konverter stempel waktu UNIX.

data

Object Array

Array berisi satu elemen bertipe Object. Kuncinya adalah doc dan nilainya adalah string JSON.

Catatan

Deserialisasi nilai tersebut untuk mendapatkan catatan data.

old

Object Array

Data sebelum pembaruan. Formatnya sama dengan field `data`.

Penting

Field ini hanya ada ketika type adalah UPDATE. Formatnya sama dengan field data.

id

Int

Nomor seri operasi.

Contoh format data operasi DDL

Buat koleksi

SQL statement

db.createCollection("testCollection")

Data yang diterima FC

{
	'Records': [{
		'data': [{
			'doc': '{"create": "testCollection", "idIndex": {"v": 2, "key": {"_id": 1}, "name": "_id_"}}'
		}],
		'pkNames': ['_id'],
		'type': 'DDL',
		'es': 1694056437000,
		'database': 'MongoDBTest',
		'id': 0,
		'isDdl': True,
		'table': 'testCollection',
		'ts': 1694056437510
	}]
}

Hapus koleksi

SQL statement

db.testCollection.drop()

Data yang diterima FC

{
	'Records': [{
		'data': [{
			'doc': '{"drop": "testCollection"}'
		}],
		'pkNames': ['_id'],
		'type': 'DDL',
		'es': 1694056577000,
		'database': 'MongoDBTest',
		'id': 0,
		'isDdl': True,
		'table': 'testCollection',
		'ts': 1694056577789
	}]
}

Buat indeks

SQL statement

db.testCollection.createIndex({name:1})

Data yang diterima FC

{
	'Records': [{
		'data': [{
			'doc': '{"createIndexes": "testCollection", "v": 2, "key": {"name": 1}, "name": "name_1"}'
		}],
		'pkNames': ['_id'],
		'type': 'DDL',
		'es': 1694056670000,
		'database': 'MongoDBTest',
		'id': 0,
		'isDdl': True,
		'table': 'testCollection',
		'ts': 1694056670719
	}]
}

Hapus indeks

SQL statement

db.testCollection.dropIndex({name:1})

Data yang diterima FC

{
	'Records': [{
		'data': [{
			'doc': '{"dropIndexes": "testCollection", "index": "name_1"}'
		}],
		'pkNames': ['_id'],
		'type': 'DDL',
		'es': 1694056817000,
		'database': 'MongoDBTest',
		'id': 0,
		'isDdl': True,
		'table': '$cmd',
		'ts': 1694056818035
	}]
}

Contoh format data operasi DML

Masukkan data

SQL statement

// Bulk insert
db.runCommand({insert: "user", documents: [{"name":"jack","age":20},{"name":"lili","age":20}]})

// Insert one by one
db.user.insert({"name":"jack","age":20})
db.user.insert({"name":"lili","age":20})

Data yang diterima FC

{
	'Records': [{
		'data': [{
			'doc': '{"_id": {"$oid": "64f9397f6e255f74d65a****"}, "name": "jack", "age": 20}'
		}],
		'pkNames': ['_id'],
		'type': 'INSERT',
		'es': 1694054783000,
		'database': 'MongoDBTest',
		'id': 0,
		'isDdl': False,
		'table': 'user',
		'ts': 1694054784427
	}, {
		'data': [{
			'doc': '{"_id": {"$oid": "64f9397f6e255f74d65a****"}, "name": "lili", "age": 20}'
		}],
		'pkNames': ['_id'],
		'type': 'INSERT',
		'es': 1694054783000,
		'database': 'MongoDBTest',
		'id': 0,
		'isDdl': False,
		'table': 'user',
		'ts': 1694054784428
	}]
}

Perbarui data

SQL statement

db.user.update({"name":"jack"},{$set:{"age":30}}) 

Data yang diterima FC

{
	'Records': [{
		'data': [{
			'doc': '{"$set": {"age": 30}}'
		}],
		'pkNames': ['_id'],
		'old': [{
			'doc': '{"_id": {"$oid": "64f9397f6e255f74d65a****"}}'
		}],
		'type': 'UPDATE',
		'es': 1694054989000,
		'database': 'MongoDBTest',
		'id': 0,
		'isDdl': False,
		'table': 'user',
		'ts': 1694054990555
	}]
}

Hapus data

SQL statement

db.user.remove({"name":"jack"})

Data yang diterima FC

{
	'Records': [{
		'data': [{
			'doc': '{"_id": {"$oid": "64f9397f6e255f74d65a****"}}'
		}],
		'pkNames': ['_id'],
		'type': 'DELETE',
		'es': 1694055452000,
		'database': 'MongoDBTest',
		'id': 0,
		'isDdl': False,
		'table': 'user',
		'ts': 1694055452852
	}]
}