Apidog

Platform Pengembangan API Kolaboratif All-in-one

Desain API

Dokumentasi API

Debug API

Mocking API

Pengujian Otomatis API

Tutorial MongoDB Bson: Apa itu BSON dan Bagaimana Perbedaannya dengan JSON?

BSON (Binary JSON) adalah serialisasi biner dokumen mirip JSON di MongoDB. Artikel ini membahas BSON, format data biner MongoDB.

Ardianto Nugroho

Ardianto Nugroho

Updated on April 15, 2025

BSON (Binary JSON) adalah serialisasi berkode biner dari dokumen mirip JSON yang digunakan dalam basis data MongoDB. Artikel ini memberikan ikhtisar tentang BSON, format data biner yang digunakan oleh MongoDB untuk menyimpan dokumen.

Artikel ini menjelaskan apa itu BSON, bagaimana BSON memperluas kemampuan JSON, dan perbedaan utama antara BSON dan JSON. Selain itu, artikel ini juga menjelaskan bagaimana Apidog menangani hal ini secara otomatis. Artikel ini juga menunjukkan contoh operasi CRUD dasar dan perintah basis data menggunakan Apidog untuk berinteraksi dengan MongoDB.

button

Apa itu Bson di MongoDB?

BSON (Binary JSON) adalah format data utama yang digunakan dalam basis data MongoDB. Beberapa hal penting yang perlu diketahui tentang BSON di MongoDB:

  • BSON adalah representasi biner dari dokumen JSON. BSON memperluas JSON dengan tipe data tambahan seperti tanggal, stempel waktu, data biner, dll.
  • MongoDB menyimpan semua data secara internal sebagai BSON. Saat Anda memasukkan dokumen ke MongoDB, dokumen tersebut pertama-tama diubah menjadi BSON sebelum ditulis ke disk.
  • BSON menyandikan informasi tipe dan panjang, yang memungkinkan MongoDB untuk memindai dan melintasi dokumen secara efisien tanpa memeriksa dan menafsirkan setiap dokumen. Hal ini meningkatkan kinerja.
  • BSON dirancang agar ringan, mudah dilintasi, dan efisien untuk menyandikan/mendekode. Hal ini menjadikannya sangat cocok sebagai format penyimpanan dan pertukaran data untuk MongoDB.
  • Ekstensi file default untuk file BSON adalah .bson. Alat Mongo seperti Mongoexport dapat digunakan untuk mengekspor data MongoDB ke BSON untuk pencadangan atau migrasi.
  • BSON dirancang agar sangat mudah dilintasi. Kueri MongoDB menggunakan indeks untuk dengan cepat menemukan dan mengambil hasil tanpa memindai setiap dokumen.

Struktur Dokumen BSON

BSON (Binary JSON) adalah serialisasi berkode biner dari dokumen mirip JSON yang digunakan dalam basis data MongoDB. Dokumen BSON berisi pasangan bidang-nilai yang terurut mirip dengan objek JSON.

Bidang dapat berupa string UTF-8 yang valid, sedangkan nilai dapat berupa salah satu dari beberapa tipe data BSON seperti string, integer, double, data biner, array, dokumen, boolean, tanggal, null, dll. Struktur dokumen BSON dimulai dengan integer 4-byte yang menunjukkan ukuran total dokumen.

Berikutnya adalah pasangan bidang-nilai yang berisi bidang "_id" yang secara unik mengidentifikasi dokumen. Konten dokumen mengikuti dengan setiap pasangan bidang-nilai yang disandikan dalam format biner tertentu berdasarkan tipe data.

Contoh yang menunjukkan struktur dokumen BSON:

// Contoh dokumen BSON
{
  _id: ObjectId("507f1f77bcf86cd799439011"), // ID unik 12-byte
  name: "John Doe", // String
  age: 35, // Integer
  address: { // Dokumen tersemat
    street: "123 Main St",
    city: "Anytown", 
    state: "CA"
  },
  hobbies: ["reading", "hiking","swimming"], // Array
  graduated: true, // Boolean
  birthday: ISODate("1980-05-15T00:00:00Z"), // Tanggal
  data: BinData(0, "SGVsbG8gV29ybGQ="), // Data biner
  ts: Timestamp(1590583045633, 1) // Stempel waktu
}

Hal-hal penting yang perlu diperhatikan:

  • Bidang _id secara unik mengidentifikasi dokumen
  • Pasangan bidang-nilai memiliki urutan yang ditentukan
  • Mendukung tipe data tambahan seperti ISODate, ObjectId, dll
  • Dapat menyematkan dokumen dan array
  • Data biner disimpan secara efisien

Apa perbedaan antara JSON dan BSON?

Berikut adalah perbedaan utama antara JSON dan BSON:

  • Penyandian: JSON berbasis teks dan disandikan dalam UTF-8, sedangkan BSON disandikan secara biner.
  • Tipe data: JSON mendukung tipe data terbatas seperti string, angka, boolean, array, dan objek. BSON mendukung tipe tambahan seperti tanggal, data biner, ekspresi reguler, dll.
  • Efisiensi: Penyandian BSON biner memungkinkan penyimpanan dan pencarian data yang lebih efisien dibandingkan dengan JSON. Dokumen BSON memiliki awalan panjang dan tidak mengandung spasi kosong sehingga dapat diurai lebih cepat.
  • Pengurutan: Pasangan bidang-nilai dalam dokumen BSON diurutkan sehingga memungkinkan lintasan dan pengindeksan yang efisien. Objek JSON tidak memiliki jaminan pengurutan.
  • Fleksibilitas: BSON memberikan beberapa fleksibilitas dibandingkan JSON seperti memungkinkan nama bidang untuk mengandung karakter khusus dan Unicode.
  • Penggunaan: JSON adalah format umum yang digunakan secara luas di seluruh web dan aplikasi. BSON digunakan secara khusus dalam basis data MongoDB sebagai representasi data utama.
  • Skema: JSON tidak memiliki skema secara default, sedangkan MongoDB memungkinkan penerapan skema untuk dokumen BSON melalui aturan validasi.
  • Nilai null: JSON memiliki satu nilai null. BSON membedakan antara bidang null dan bidang yang hilang.

Konversi JSON dan BSON di MongoDB dengan Apidog

Apidog adalah toolkit API yang menyederhanakan pengembangan API. Apidog menawarkan MongoDB sebagai salah satu pilihan basis data terintegrasinya. Dengan menggunakan MongoDB dengan Apidog, Anda dapat menyimpan mock dan pengujian API di MongoDB sebagai backend.

Respons API mock yang dikirimkan oleh Apidog dapat didorong oleh data yang disimpan dalam basis data MongoDB. Hal ini memungkinkan Apidog untuk memanfaatkan MongoDB sebagai sumber data persisten untuk API yang di-mock. Selanjutnya, kami akan menjelaskan hubungan JSON dan BSON dengan Anda.

button

MongoDB menyimpan data sebagai dokumen BSON, yang dapat dilihat sebagai superset dari JSON. Saat mengoperasikan basis data MongoDB dengan Apidog, JSON digunakan untuk menyusun konten. Apidog akan secara otomatis memetakan setiap bidang ke tipe data BSON yang sesuai berdasarkan konten JSON yang sebenarnya.

Satu kasus khusus adalah bidang _id. Menurut konvensi MongoDB, setiap dokumen harus memiliki bidang _id sebagai kunci utama, dengan ObjectId sebagai tipe data default alih-alih string.

Dengan Apidog, untuk mendeklarasikan bidang _id dari tipe ObjectId, gunakan format string reguler. Jika konten string sesuai dengan format ObjectId, Apidog akan secara otomatis memetakannya ke tipe ObjectId BSON.

Misalnya, di MongoDb ada dokumen BSON seperti:

Copy code
{
    _id: ObjectId('654e056de3662b1c09477cc3
'),
    name: "Apidog"
}

Kemudian untuk mengkueri dokumen ini berdasarkan _id dengan Apidog, JSON yang dimasukkan ke dalam "Kondisi Kueri" adalah:

Copy code
{
    "_id": "654e056de3662b1c09477cc3"
}
MongoDB
Apa itu Ollama? Cara Menginstal Ollama?Sudut Pandang

Apa itu Ollama? Cara Menginstal Ollama?

đŸ’¡Ingin alat Pengujian API yang hebat yang menghasilkan Dokumentasi API yang indah? Ingin platform terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum? Apidog memenuhi semua permintaan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau! button Lanskap kecerdasan buatan (AI) terus berkembang dengan kecepatan tinggi, dan Model Bahasa Besar (LLM) menjadi semakin kuat dan mudah diakses. Meskipun banyak orang berinteraksi dengan model

Di Mana Unduh Swagger UI Bahasa Indonesia Gratis?Sudut Pandang

Di Mana Unduh Swagger UI Bahasa Indonesia Gratis?

Ingin Swagger UI dalam Bahasa Indonesia? Artikel ini menjelaskan mengapa tidak ada unduhan resmi gratis dan cara mengaktifkan terjemahan. Jelajahi fitur Swagger dan lihat mengapa Apidog adalah alternatif Swagger superior untuk desain, pengujian, dan dokumentasi API yang terintegrasi.

Oliver Kingsley

April 23, 2025

Di Mana Mengunduh Postman Bahasa Indonesia Gratis?Sudut Pandang

Di Mana Mengunduh Postman Bahasa Indonesia Gratis?

Bisakah Anda mengunduh Postman Bahasa Indonesia gratis? Meskipun Postman tidak memiliki dukungan Bahasa Indonesia native, ada solusi lain. Jelajahi ini & temukan Apidog, alternatif Postman terpadu yang kuat untuk menyederhanakan alur kerja API Anda, apa pun bahasanya.

Oliver Kingsley

April 22, 2025