为了账号安全,请及时绑定邮箱和手机立即绑定

求教mongoDB怎么实现分组去重

求教mongoDB怎么实现分组去重

一只萌萌小番薯 2019-04-13 11:07:19
求教mongoDB怎么实现分组去重
查看完整描述

3 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

在MongoDB中,文档是对数据的抽象,它被使用在Client端和Server端的交互中。所有的Client端(各种语言的Driver)都会使用这种抽象,它的表现形式就是我们常说的BSON(Binary JSON )。
BSON是一个轻量级的二进制数据格式。
MongoDB能够使用BSON,并将BSON作为数据的存储存放在磁盘中。
Client端要将写入文档,使用查询等等操作时,需要将文档编码为BSON格式,然后再发送给Server端。同样,Server端的返回结果也是编码为BSON格式再放回给Client端的。

查看完整回答
反对 回复 2019-04-14
?
湖上湖

TA贡献2003条经验 获得超2个赞

参考代码:
var pipeline =[
{
$match: {
sjbh: {$gte: beginDate, $lte:endDate}
}
},
{
$group: {
_id: "$gsbh",
totaltxl: {$sum: { $cond: { if: { $ne: [ "$totalnum","" ] }, then:"$txl" , else: 0 }}},
totalbmynum: {$sum: "$bmynum"}
}
},
{
$project: {
_id: 0,
gsbh: "$_id",
totaltxl: "$totaltxl",
totalbmynum: "$totalbmynum",
ratio: { $divide: [ "$totalbmynum", { $cond:{if: { $eq: [ "$totaltxl",0 ] }, then:1 , else: "$totaltxl" }}] }
}
},
{$sort: {ratio: -1}},
{$limit: 5}
{$skip : 5}
]

opts.dbs.csdb.collection("permydfx").aggregate(pipeline).......



查看完整回答
反对 回复 2019-04-14
?
守着一只汪

TA贡献1872条经验 获得超3个赞

分页使用skip就可以了,分组需要group分。

查看完整回答
反对 回复 2019-04-14
  • 3 回答
  • 0 关注
  • 1665 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信