MongoDB'de ObjectIDs
12 bayt olduğunu biliyorum. Ve biliyorum ki numbers
64-bit. Ama nasıl http://bsonspec.org/spec.html bir kaydedilmiş string
MongoDB'de bir dize türünün boyutu
cevap
BSON şartnamenin boyutunu öğrenebilirim iyi bir başlangıç noktasıdır. Özellikle
, bu BSON JavaScript 64 bit kayan noktalı sayılar kullanır olmasına rağmen, hatta varsayılan 32 bitlik tamsayılar olmak üzere sahip tamsayı tiplerini, yaptığı gerçekleştirmek için önemli - MongoDB JavaScript'i çok kullanır, ancak kodlu kodludur ve farklı türlerde vardır. Gerçek tamsayıların varlığı oldukça önemlidir, aksi halde çok sayıda $inc
çalışmayacaktır.
Sorunuzu yanıtlamak için: dizeler, sıfır sonlandırıcı ve ön tarafında 32 bit uzunluğa sahip UTF-8 kodlanmış dizeler, artı 1 bayt tipi gösterge ve öğe adı olarak kaydedilir. Nesnelerin ek yükü olduğunu unutmayın.
_- "Nesnelerin ek yüke sahip olduğunu unutmayın." _ ... Seni burada anladığımdan emin değilim. Bunu detaylandırır mısınız? =) –
BSON spesifikasyonlarında görebildiğiniz gibi, belgenin kendisi, bayt cinsinden toplam uzunluk, bir e_list ve sıfır sonlandırıcıdan oluşur. “E_list”, her biri bir tip göstergesi, eleman adı ve gerçek verisi olan bir öğeye sahip olan elemanların listesidir. Gömülü bir belge, kendi başına bir öğe olacaktır, bu nedenle yuvalama, boyutu (doğal olarak) artıracaktır. Ayrıca, belgeler sadece doldurma faktörü tarafından değil, aynı zamanda bayt cinsinden büyüklüğünün 16 katı (sürüm ve işletim sistemine bağlı olabilir) olacak şekilde doldurulacaktır. – mnemosyn
- 1. Dize Türünün Gerçek Türü Android'de
- 2. Dize akışının boyutu
- 3. python unicode dize boyutu alın
- 4. Normal ifade sınırı dize boyutu
- 5. Dizi türünün Özel Öznitelikleri
- 6. Sütun değer türünün dize olduğu satırları kaldır Pandalar
- 7. Bir dikdörtgenin içine dize çizmek için dinamik yazı tipi boyutu
- 8. Hive'da maksimum veri dizesi boyutu var mı?
- 9. Neden Haskell türünün "türetme" türünün "Enum türetilmesi" gerekir?
- 10. MainActivity türünün hiyerarşisi tutarsız
- 11. 'T' türünün değeri,
- 12. 'Boolean' türünün değeri 'System.Data.DataRow'
- 13. Scala'da türünün performansı
- 14. 'System.StackOverflowException' türünün istisnası
- 15. scala biçiminde bir HList türünün nasıl gösterileceğini gösterir
- 16. C# - Bir örnek için türünün varsayılan değeri
- 17. Boyutu
- 18. Şablon uzmanlığı olmadan bir işlevin dönüş türünün değiştirilmesi. C++
- 19. Boyutu
- 20. Bir dize kaç bayta sahip
- 21. C# temsilci boyutu parametresi boyutu
- 22. Swift: return Kendiliğinden türünün özeti
- 23. 'System.Windows.Forms.AxHost + InvalidActiveXStateException' türünün istisnası atıldı
- 24. Julia cinsinden yaprak türünün anlamı
- 25. Gövde Türünün HTTParty Kullanılarak Değiştirilmesi
- 26. 'DispatchQueue.Attributes' Türünün 'serial' üyesi yok
- 27. Birleştirme türünün nasıl çalıştığını anlama
- 28. Dönüş türünün statik olmasının etkisi
- 29. bir enum türünün özellikler dosyasından bir değer nasıl okunur?
- 30. Belirli bir çalışma zamanı türünün boş bir listesi nasıl oluşturulur
db.test.findOne(). String_fielsd.length; – Disposer
@Disposer: OP, * length * dizgesinin * size * boyutunu * soruyor. Birçok dize uygulaması ayrıca dizenin uzunluğunu saklar ve boş bir sonlandırıcı ekleyebilir veya eklemeyebilir. Üstelik, dizgenin * kendisi * uzunluğu ve boyutu ASCII'de aynı şey olsa da, kesinlikle UTF-8'de değildir, bkz. Http://en.wikipedia.org/wiki/UTF-8. Örneğin, "ä", 'length' 1 değerine sahiptir, ancak depolamak için iki bayt gerektirir (' 0xC3A4'). – mnemosyn