寫蒙戈當我得到這個錯誤:MongoDB的,Python和PyMongo:文檔大小與BSONObj尺寸過大是無效
OperationalFailure caught
10334
{u'connectionId': 2365, u'code': 10334, u'ok': 1.0, u'err': u'BSONObj size: 17254820 (0xA4490701) is invalid. Size must be between 0 and 16793600(16MB) First element: 0:
這是一個正常的文件全字符串和整數的,在Python構造,但它的大小似乎是17,25MB。你會怎麼做?
這是數據看起來的樣子:
{ date: new Date(1417996800000),
visitors: [ { owner: "AS3320 Deutsche Telekom AG", ip: "82.148.15.23", views: 844 },
{ owner: "AS29314 VECTRA S.A.", ip: "173.235.42.25", views: 458 },
...
]
}
有數組中很多很多的元素,但我很奇怪的量超過16MB。
限制數組的大小降到8500元后,我得到這個PyMongo錯誤:
$ operator made object too large
你可以正常化一點嗎?也許80%的數據在20%的字段中。然後你可以將其中的幾個移動到他們自己的收藏中。 – 2015-02-09 13:16:50
我更新了我的問題以適合您的問題。擁有所有頁面印象將會很好,但是可以想象當數組超過一定長度或大小時就可以切割數組。使用GridFS似乎很複雜? – nottinhill 2015-02-09 13:25:03
在寫入Mongo之前,有沒有辦法確定python或json對象中列表的物理大小? – nottinhill 2015-02-09 13:50:13