MongoDB BSON Eğitimi: BSON Nedir ve JSON'dan Farkı Nedir?

BSON (İkili JSON), MongoDB'de kullanılan, JSON benzeri belgelerin ikili kodlanmış serileştirmesidir. Bu makale, BSON'a genel bir bakış sunar.

Efe Demir

Efe Demir

5 June 2025

MongoDB BSON Eğitimi: BSON Nedir ve JSON'dan Farkı Nedir?

BSON (Binary JSON), MongoDB veritabanlarında kullanılan, JSON benzeri belgelerin ikili kodlanmış bir serileştirmesidir. Bu makale, MongoDB tarafından belgeleri depolamak için kullanılan ikili veri formatı olan BSON'a genel bir bakış sunmaktadır.

BSON'un ne olduğunu, JSON yeteneklerini nasıl genişlettiğini ve BSON ile JSON arasındaki temel farklılıkları açıklamaktadır. Ek olarak, Apidog 'un bunu nasıl otomatik olarak ele aldığına da yer vermektedir. Ayrıca, MongoDB ile etkileşim kurmak için Apidog kullanarak temel CRUD işlemleri ve veritabanı komutlarına örnekler göstermektedir.

button

MongoDB'de BSON Nedir?

BSON (Binary JSON), MongoDB veritabanlarında kullanılan birincil veri formatıdır. MongoDB'de BSON hakkında bilinmesi gereken bazı önemli şeyler şunlardır:

Bir BSON Belgesinin Yapısı

BSON (Binary JSON), MongoDB veritabanlarında kullanılan, JSON benzeri belgelerin ikili kodlanmış bir serileştirmesidir. Bir BSON belgesi, JSON nesnelerine benzer şekilde sıralı alan-değer çiftleri içerir.

Alanlar herhangi bir geçerli UTF-8 dizisi olabilirken, değerler dize, tamsayı, çift, ikili veri, dizi, belge, boole, tarih, null vb. gibi çeşitli BSON veri türlerinden biri olabilir. Bir BSON belgesinin yapısı, toplam belge boyutunu gösteren 4 baytlık bir tamsayı ile başlar.

Ardından, belgeyi benzersiz bir şekilde tanımlayan "_id" alanını içeren bir alan-değer çifti gelir. Belge içeriği, her alan-değer çiftinin veri türüne göre belirli bir ikili formatta kodlanmasıyla devam eder.

Bir BSON belgesinin yapısını gösteren bir örnek:

// Örnek BSON belgesi
{
  _id: ObjectId("507f1f77bcf86cd799439011"), // 12 baytlık benzersiz ID
  name: "John Doe", // Dize
  age: 35, // Tamsayı
  address: { // Gömülü belge
    street: "123 Main St",
    city: "Anytown", 
    state: "CA"
  },
  hobbies: ["reading", "hiking","swimming"], // Dizi
  graduated: true, // Boole
  birthday: ISODate("1980-05-15T00:00:00Z"), // Tarih
  data: BinData(0, "SGVsbG8gV29ybGQ="), // İkili veri
  ts: Timestamp(1590583045633, 1) // Zaman damgası
}

Dikkat edilmesi gereken önemli noktalar:

JSON ve BSON Arasındaki Fark Nedir?

İşte JSON ve BSON arasındaki temel farklar:

Apidog ile MongoDB'de JSON ve BSON Dönüşümü

Apidog, API geliştirmeyi basitleştiren bir API araç takımıdır. Entegre veritabanı seçeneklerinden biri olarak MongoDB'yi sunar. MongoDB'yi Apidog ile kullanarak, API sahtelerini ve testlerini MongoDB'de arka uç olarak depolayabilirsiniz.

Apidog tarafından sunulan sahte API yanıtları, bir MongoDB veritabanında depolanan veriler tarafından yönlendirilebilir. Bu, Apidog'un sahte API'ler için kalıcı veri kaynağı olarak MongoDB'den yararlanmasını sağlar. Ardından, sizinle JSON ve BSON arasındaki ilişkiyi açıklayacağız.

button

MongoDB, verileri JSON'un bir üst kümesi olarak görülebilen BSON belgeleri olarak depolar. Apidog ile MongoDB veritabanını çalıştırırken, içeriği oluşturmak için JSON kullanılır. Apidog, her alanı gerçek JSON içeriğine göre karşılık gelen BSON veri türüne otomatik olarak eşleyecektir.

Özel bir durum _id alanıdır. MongoDB kurallarına göre, her belgenin birincil anahtar olarak _id alanına sahip olması gerekir ve varsayılan veri türü string yerine ObjectId'dir.

Apidog ile, ObjectId türünde bir _id alanı bildirmek için, normal dize formatını kullanın. Dize içeriği ObjectId formatına uygunsa, Apidog bunu otomatik olarak BSON'un ObjectId türüne eşleyecektir.

Örneğin, MongoDb'de şöyle bir BSON belgesi vardır:

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

Ardından, bu belgeyi Apidog ile _id'ye göre sorgulamak için, "Sorgu Koşulu"na konulacak JSON şudur:

Copy code
{
    "_id": "654e056de3662b1c09477cc3"
}
MongoDB

Explore more

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Yapay zeka hızla gelişiyor. FractalAIResearch/Fathom-R1-14B, 14.8 milyar parametreyle matematik ve genel akıl yürütmede başarılı.

5 June 2025

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code'u keşfedin: Kurumsal kullanıma özel, en özelleştirilebilir yapay zeka destekli kodlama asistanı.

5 June 2025

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code, 2025'te yapay zeka destekli kodlamayı nasıl devrimleştiriyor? Özelliklerini, kullanımını ve Windsurf kısıtlamalarından sonra neden popüler olduğunu öğrenin. Geliştiriciler için okunması gereken!

5 June 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin