Mongolite - 明显太大,16mb 上限
Mongolite - distinct too big, 16mb cap
我正在尝试查询我的数据库 ratingsChoices= m$distinct({'answers'})
但我得到 Warning: Error in : distinct too big, 16mb cap
mongolite
中是否有解决此错误的方法?我在 PyMongo 等方面看到了一些类似的问题
Is there a way around this error in mongolite?
这里的问题是因为distinct command is called when you're calling m$distinct
. See more MongoDB Database commands需要更多信息。
distinct
命令returns单个文件。 maximum BSON document size 限制为 16 兆字节。因此,如果您有许多不同的值 and/or 大字段,这些字段将超过服务器返回的最大大小 16MB,您将收到上述错误消息。
另一种方法是利用 MongoDB Aggregation Pipeline instead of the distinct
command. Which fortunately mongolite
has support for: mongolite aggregate。
聚合管道结果通过游标返回,可以对其进行迭代。这意味着您可以获取超过 16MB 最大限制的结果。
例如(使用 MongoDB v3.6 和 mongolite v2017-12-21):
uniqueName <- m$aggregate('[{"$group":{"_id":"$answers"}}]')
print(uniqueName)
我正在尝试查询我的数据库 ratingsChoices= m$distinct({'answers'})
但我得到 Warning: Error in : distinct too big, 16mb cap
mongolite
中是否有解决此错误的方法?我在 PyMongo 等方面看到了一些类似的问题
Is there a way around this error in mongolite?
这里的问题是因为distinct command is called when you're calling m$distinct
. See more MongoDB Database commands需要更多信息。
distinct
命令returns单个文件。 maximum BSON document size 限制为 16 兆字节。因此,如果您有许多不同的值 and/or 大字段,这些字段将超过服务器返回的最大大小 16MB,您将收到上述错误消息。
另一种方法是利用 MongoDB Aggregation Pipeline instead of the distinct
command. Which fortunately mongolite
has support for: mongolite aggregate。
聚合管道结果通过游标返回,可以对其进行迭代。这意味着您可以获取超过 16MB 最大限制的结果。
例如(使用 MongoDB v3.6 和 mongolite v2017-12-21):
uniqueName <- m$aggregate('[{"$group":{"_id":"$answers"}}]')
print(uniqueName)