MongoDB bir şemada birden fazla türde veri olabilir mi?

Kastettiğiniz şu değil mi

record1->city:"İstanbul"
record2->city:34

evet, olabilir ama bu iyi bir fikir değil, tek tipte olmasında fayda var, dbden veri çekip de if stringse şunu yap, if numeric ise bunu yap diye custom logic yaratmak saçma geldi, validationda da problem yaratabilir, niye gereksiz kod yazmamıza sebep olacak böyle bir yola girelim.
 
Kastettiğiniz şu değil mi?

Record1->city:"İstanbul"
Record2->city: 34.

Evet, olabilir ama bu iyi bir fikir değil, tek tipte olmasında fayda var, DB'den veri çekip de if stringse şunu yap, if numeric ise bunu yap diye Custom Logic yaratmak saçma geldi, validationda da problem yaratabilir, niye gereksiz kod yazmamıza sebep olacak böyle bir yola girelim.

Ama MySQL'de farklı veri türünde tutunca bir problem olmuyordu. Mongo biraz daha farklı çalışıyor galiba tam alışamadım. Bir de örnek olarak benim customer isimli semamda 2 farklı veri türü tutmam gerekiyorsa ne yapacağım?
 
Ama MySQL'de farklı veri türünde tutunca bir problem olmuyordu. Mongo biraz daha farklı çalışıyor galiba tam alışamadım. Bir de örnek olarak benim customer isimli semamda 2 farklı veri türü tutmam gerekiyorsa ne yapacağım?
Mysqlde bir kolonun veri tipi, varsa alabileceği max değer, nullable olup olmadığı vs bellidir, siz her veriyi string tipinde (city:"İstanbul", city:"34" gibi) mi tuttunuz ne yaptınız anlamadım.

Mongoda kolayca field ekleyebilirsiniz, mesela illa ki farklı veriler tutmanız gerekiyor
cityName:"İstanbul"
cityCode:34
şeklinde iki field tutabilirsiniz.
sqldeki gibi her record bu fieldları da içerecek diye bir zorunluluk yok mongoda, kimi kayıtlara hiç eklemeyebilirsiniz bile, kimisine 1 tanesini eklersiniz vs..

Benzer şekilde

city: {name:"İstanbul", code:34}

şeklinde bir veri de tutabilirsiniz mesela. Bu sizin çözümde kullanacağınız mantığa kalıyor.
 
Mysqlde bir kolonun veri tipi, varsa alabileceği max değer, nullable olup olmadığı vs bellidir, siz her veriyi string tipinde (city:"İstanbul", city:"34" gibi) mi tuttunuz ne yaptınız anlamadım.

Mongoda kolayca field ekleyebilirsiniz, mesela illa ki farklı veriler tutmanız gerekiyor
cityName:"İstanbul"
cityCode:34

şeklinde iki field tutabilirsiniz. Benzer şekilde

city: {name:"İstanbul", code:34}

şeklinde bir veri de tutabilirsiniz mesela. Bu sizin çözümde kullanacağınız mantığa kalıyor.
Ben şu şekilde tuttum veriyi {data1:"String",data2:12} bu şekilde tutmanın bir artı veya eksisi var mi?
 
Ben şu şekilde tuttum veriyi {data1:"String",data2:12} bu şekilde tutmanın bir artı veya eksisi var mi?
Query çekeceğiniz zaman mesela data1 için = "Ahmet", data2 > 5 vb. olanları getir demek çok kolay olur. Ayrıca böyle düz bir field için index tutulması daha kolay.

Bir nesne içinde tutarsanız nesne.data1:"Ahmet" gibi ekstra bir şey yapmak gerekir. Sorgu atılacak fieldların dümdüz tutulması daha faydalı, daha kapsamlı dataları böyle nesneler halinde tutmak doğru olur.
 

Geri
Yukarı