写蒙戈当我得到这个错误: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