簡體   English   中英

MongoDB文件大小限制

[英]MongoDB Document Size Limitations

我有一些小說集,看起來如下:

在此處輸入圖片說明

單詞數組包含所有單詞以及與每個單詞相關的其他語言信息。 當我嘗試添加更長的文本(超過10萬個單詞)時,出現錯誤消息:

RangeError:嘗試在緩沖區邊界之外寫入

我收集到的信息意味着BSON文檔大於16 mb,因此超出了限制。

我假設這是一個相對常見的情況。 我現在正在考慮如何解決此限制-例如,我可以將小說分成10k個單詞的各個塊。 還是這意味着該文檔應該組成一個單獨的集合(即,每個上載的文本一個新的集合)-對我來說意義不大。

在這種情況下,是否存在用於設計MongoDB數據庫的標准/建議方法?

另外,在JS / Node中插入文檔之前是否可以檢查BSON的大小?

您是否絕對需要將書籍的內容存儲在MongoDB中? 如果您只是將內容提供給用戶或批量處理,我建議將它們存儲在磁盤或AWS S3存儲桶或類似文件中。

如果您需要書籍內容才能存放在數據庫中 ,請嘗試使用MongoDB GridFS:

GridFS是用於存儲和檢索超過16 MB BSON文檔大小限制的文件的規范。

GridFS不會將文件存儲在單個文檔中,而是將文件分為多個部分或大塊,並將每個大塊存儲為單獨的文檔

當您查詢GridFS文件時,驅動程序將根據需要重新組裝塊。 您可以對通過GridFS存儲的文件執行范圍查詢。 您還可以從文件的任意部分訪問信息,例如“跳到”視頻或音頻文件的中間。

在此處閱讀更多信息: https : //docs.mongodb.com/manual/core/gridfs/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM