【问题描述】
如何使用OID作为分组字段并使用聚集查询该字段的count数?
记录类似如下:
{
“_id”:{
"$oid":"5c2c165cd08e8a48af889cff"
},
“ECM_BUSI_FILE_SCANUSER”:”08190242″,
…
“FILE_OID”:{
"$oid":"5c2c165cd08e8a48af889cfe"
},
“SYS_MIN_VERSION”:1,
“SYS_MAX_VERSION”:2147483647
}
记录使用FILE_OID字段进行聚集,FILE_OID是lob文件的oid字段,记录中该字段有重复非唯一。
【解决办法】
OID 即对象 ID 为一个12字节的BSON 数据类型,包括如下内容:
OID 说明具体可参考文档:http://doc.sequoiadb.com/cn/i…
- SDB shell 中按 OID 值做分组,使用 aggregate 做聚集查询,并计数:
db.cs.cl.aggregate({$group:{OID:”$OID”, Total:{$count:”$OID”}}})
aggregate 使用参考文档:http://doc.sequoiadb.com/cn/s…
- 使用内置 SQL 语句:db.exec(“select count(OID) as Total from XXX group by OID”)
group by 使用参考文档:http://doc.sequoiadb.com/cn/s…
【解决办法】
OID 即对象 ID 为一个12字节的BSON 数据类型,包括如下内容:
4 字节精确到秒的时间戳
3 字节系统(物理机)标示
2 字节进程 ID
3 字节由随机数起始的序列号
OID 说明具体可参考文档:http://doc.sequoiadb.com/cn/i…
- SDB shell 中按 OID 值做分组,使用 aggregate 做聚集查询,并计数:
db.cs.cl.aggregate({$group:{OID:”$OID”, Total:{$count:”$OID”}}})
aggregate 使用参考文档:http://doc.sequoiadb.com/cn/s…
- 使用内置 SQL 语句:db.exec(“select count(OID) as Total from XXX group by OID”)
group by 使用参考文档:http://doc.sequoiadb.com/cn/s…