小编use*_*162的帖子

MongoDB聚合:计算不同的字段

我正在尝试编写一个聚合来识别使用多个支付来源的帐户.典型的数据是.

{
 account:"abc",
 vendor:"amazon",
}
 ...
{
 account:"abc",
 vendor:"overstock",
}
Run Code Online (Sandbox Code Playgroud)

现在,我想制作一个类似于此的帐户列表

{
 account:"abc",
 vendorCount:2
}
Run Code Online (Sandbox Code Playgroud)

我将如何在Mongo的聚合框架中编写它

mongodb aggregation-framework

26
推荐指数
5
解决办法
4万
查看次数

快速统计bson文档中对象的个数

我想计算存储在 mongodb bson 文件中的文档数量,而不必通过 mongo 恢复将文件导入到数据库中。

我在 python 中能想到的最好的方法是

bson_doc = open('./archive.bson','rb')
it = bson.decode_file_iter(bson_doc)
total = sum(1 for _ in it)
print(total)
Run Code Online (Sandbox Code Playgroud)

这在理论上是可行的,但当 bson 文档很大时,实践中会很慢。有人有一种更快的方法来计算 bson 文档中的文档数量,而无需进行完整解码吗?

我目前正在使用 python 2.7 和 pymongo。 https://api.mongodb.com/python/current/api/bson/index.html

python mongodb bson

4
推荐指数
1
解决办法
1517
查看次数

在d3中为每个数据元素添加多个Rect

使用d3,我试图编写一个脚本,通过显示由单个块组成的数字来可视化数字的大小.所以数字5将由5个矩形组成.在svg中创建矩形的一般语法如下.

var p = d3.select("body").selectAll("p")
    .data([5, 3, 10])
    .enter()
    .append("rect) 
    ...
Run Code Online (Sandbox Code Playgroud)

但是,我真正想要的是每个数据元素附加多个矩形的东西.

var p = d3.select("body").selectAll("p")
    .data([5, 3, 10])
    .enter()
    .do(CreatedRectangles(d))
Run Code Online (Sandbox Code Playgroud)

谁知道如何轻松地做到这一点?

javascript svg d3.js

2
推荐指数
1
解决办法
2342
查看次数

标签 统计

mongodb ×2

aggregation-framework ×1

bson ×1

d3.js ×1

javascript ×1

python ×1

svg ×1