2015-10-01 20 views
6

Mongo db 3.0'ı java'da değerlendiriyorum ve belge boyutunun 16 MB'yi aştığı bir senaryoyla karşılaştım. Bu senaryo, bazı ek alanlarla birlikte gömülü koleksiyon olarak bir belgede olması gereken birincil anahtarların (benzersiz kayıtlar) bir listesidir. Pk 16k değerini aştığında, belge boyutunun aşıldığını söyleyen hatayı alırız. Koleksiyonun, belgeyi yerleştirmek yerine belgenin dışında tutabileceğimizi biliyorum, ancak senaryomuzda gerekli olduğu için bu şekilde var. Belgenin dışında ayrı bir koleksiyon olarak kalırsak, iyi çalışır, ancak tüm pkleri ve ekleri/güncellemeleri aradığı için ekler/güncellemeler çok yavaşlar.java kullanarak Mongo db 3.0'a 16mb'den fazla belge ekleme

Bunu gerçekleştirebilmemizin başka yolu var mı?

Bunun için gridfleri kullanabileceğimizi biliyorum, ancak örnekleri gördüğüm gibi çoğunlukla bir dosya sisteminde görüntülerin/videoların vb. Depolanması için kullanılıyor. Bu kesinlikle nasıl yapmak istediğimiz değil.

Herhangi bir öneri çok yararlı olur! Şimdiden teşekkürler.

MongoDB Limits and Thresholds

Onlar BSON nesne (16 Mbytes) boyut sınırını aştığında GridFS kullanmak da öneririz:

+0

Başlığa BSON belge sınırı hakkında konuştuğunuzda sorunu burada tekrar açıklayabilir misiniz, ancak soru grubunuz birincil anahtar limitleri hakkında konuşur. Bunlar farklı şeyler. BTW. Sorunuzu, sözüm ona, bahsettiğim çelişkili ifadelerin açık bir şekilde belirsiz olduğu açık bir şekilde yayınlandıktan sonra, böyle bir şekilde kışkırtıldığı zaman, kaşlarını yükseltiyor. –

+0

Ben birincil anahtar anlamına gelmez, 16k'den fazla ve 16MB'ı aşan gömülü belgeleri olan bir belgeye sahibim. Bunu saklamak istiyorum. Buna nasıl gelebilirim? –

+2

Peki, 16MB BSON sınırını geçemezsiniz, bu bir bitmiş noktadır. Birincil anahtarlar farklı bir sorundur, ancak belgenin boyutuyla ilgili ise, daha fazla konuşmanın anlamı yoktur. Lütfen arkadaşlarınızın sohbeti kabul etmesini isteyin. Fark edildi. –

cevap

1

İşte resmi belgedir. GridFS sadece medya dosyaları için değil, her türlü ikili içerik için kullanılır.

İlgili konular