簡體   English   中英

在 mongodb 中存儲/更新深度嵌套的 object 陣列

[英]Storing/updating deeply nested object array in mongodb

我有一個 object 數組,格式如下

{
    id: 1,
    text: "Group 1",
    complete: 35,
    start: "2021-10-04T00:00:00",
    end: "2021-10-16T00:00:00",
    taskOwner: "test owner 10",
    wbsNumber: "1",
    children: [
      {
        id: 2,
        start: "2021-10-04T00:00:00",
        end: "2021-10-11T00:00:00",
        text: "Task 1",
        complete: 60,
        children: [
          {
            id: 1113,
            start: "2021-10-11T00:00:00",
            end: "2021-10-16T00:00:00",
            text: "Task New",
            complete: 0,
          },
        ],
      },
    ],
  }

子數組可以嵌套 N 次。 在 mongodb 中存儲/更新此數組的最佳方法是什么?

來自Mongo 官方文檔

MongoDB 支持不超過 100 級的 BSON 文檔嵌套。

因此,如果N可以預期大於 100,那么當您嘗試寫入時,您的 Mongo 驅動程序會拋出錯誤。 但是假設N不會接近這個閾值,那么您可以像處理任何其他數據一樣處理您的數據。

這里的一種解決方法可能是使用 GridFS 集合來存儲大量嵌套的 JSON 對象。 您的數據實際上將存儲為二進制塊。 但是,要意識到在 GridFS 中查詢和更新數據往往比在常規 Mongo 集合中使用 BSON 文檔要慢得多。 在將 go 轉向 GridFS 之前,您可能需要重新考慮您的數據 model。

暫無
暫無

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

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