当前位置: 首页 > news >正文

网站建设十年经验wordpress category id

网站建设十年经验,wordpress category id,怎么让自己的网站,北京网站建设公司哪家最好实现按照不同条件归并连续号段的方式与具体的数据模型和查询需求有关,以下是一种常见的方式: 假设有一个文档集合,包含如下字段: {"_id": ObjectId("613c3050d5d9b45a0de7c290"),"group": "…

实现按照不同条件归并连续号段的方式与具体的数据模型和查询需求有关,以下是一种常见的方式:

假设有一个文档集合,包含如下字段:

{"_id": ObjectId("613c3050d5d9b45a0de7c290"),"group": "A","date": ISODate("2021-09-11T00:00:00Z"),"num": 1
}

其中,group表示分组条件,date表示日期条件,num表示连续号段中的起始编号。

为了归并连续号段,可以使用聚合框架中的$group操作符和$push操作符结合使用,按照group和date条件进行分组,对于每个分组内的文档集合,使用$push操作符将num字段的值进行排序,然后使用脚本计算连续号段的起止编号和长度,最终输出归并后的结果。

聚合框架中的操作如下所示:

db.collection.aggregate([{$sort: {group: 1,date: 1,num: 1}},{$group: {_id: {group: "$group",date: "$date"},nums: {$push: "$num"}}},{$project: {_id: 0,group: "$_id.group",date: "$_id.date",segments: {$reduce: {input: "$nums",initialValue: [],in: {$cond: {if: {$gt: [{$size: "$$value"},0]},then: {$concatArrays: ["$$value",[{$cond: {if: {$eq: [{$subtract: ["$$this",{$arrayElemAt: ["$$value.num",-1]}]},1]},then: {num: {$arrayElemAt: ["$$value.num",-1]},end: "$$this",len: {$add: [{$arrayElemAt: ["$$value.len",-1]},1]}},else: {num: "$$this",end: "$$this",len: {$add: [{$arrayElemAt: ["$$value.len",-1]},1]}}}}]]},else: [{num: "$$this",end: "$$this",len: 1}]}}}}}}
])

上述聚合操作的意义如下:

  1. 使用$sort操作符按照group、date和num字段升序排序。
  2. 使用$group操作符按照group和date字段分组,并将每个分组内的num字段值使用$push操作符放入一个数组中,得到如下文档集合:
{"group": "A","date": ISODate("2021-09-11T00:00:00Z"),"nums": [1, 2, 4, 6, 7, 8]
},
{"group": "A","date": ISODate("2021-09-12T00:00:00Z"),"nums": [1, 2, 3, 5]
}

  1. 使用$project操作符将分组后的文档集合重构,将nums数组内的值按照连续号段归并,得到如下文档集合:
{"group": "A","date": ISODate("2021-09-11T00:00:00Z"),"segments": [{"num": 1, "end": 2, "len": 2},{"num": 4, "end": 4, "len": 1},{"num": 6, "end": 8, "len": 3}]
},
{"group": "A","date": ISODate("2021-09-12T00:00:00Z"),"segments": [{"num": 1, "end": 3, "len": 3},{"num": 5, "end": 5, "len": 1}]
}

其中,segments数组内的元素表示一个连续号段,包含num、end和len三个字段,分别表示连续号段的起始编号、结束编号和长度。

http://www.yayakq.cn/news/780464/

相关文章:

  • 江西师范大学两学一做专题网站八宝山做网站的公司
  • 西安电子商务网站开发河南省城乡与住房建设厅网站
  • 做单页面网站文化宣传 加强网站建设 创办网站
  • 网站做优化效果怎样wordpress搭建企业网站思路
  • 网站建设合同细节小程序发布流程
  • 临淄做网站ui特效网站
  • 建网站需要买些什么外贸网站建设设计
  • 景德镇网站建设景德镇网站排名推广自己怎么做
  • 山西网站建设方案公司百度免费下载安装百度
  • .net cms网站管理系统培训心得简短50字
  • 北京电子商务网站制作Wordpress回复邮件通知
  • 电子商务网站建设实训实践总结广州网页设计软件培训
  • 网站建设制作免费咨询spa.net网站开发
  • 签约做网站模板企业服务公司排名
  • 仿4493美图网站程序浙江和海建设集团网站
  • 秦皇岛百度网站排名做一个企业网站需要多少钱
  • 网站开发工程师获奖图片编辑器免费版
  • 淘宝客网站的建设平台设计图片欣赏
  • 帮别人做高仿产品网站 违法么p2p网站建设公司哪家好
  • 门户网站开发费用狂人站群系统
  • 如何快速备案网站双wan路由器做网站接入
  • 企业网站建设与网络营销的关系网站添加模块
  • 没有网站可以做搜索引擎营销吗可信赖的做网站
  • 河南网站优化建设上海最新状况
  • 为什么没有人做像58一样的网站如何写一个微信小程序
  • 久治县wap网站建设公司销售单软件永久免费版
  • 柳州网站建设哪里有软件小程序开发公司
  • 三拼域名做网站杭州职称评审系统网站
  • 网站怎么进入后台维护app推广员好做吗
  • 免费pc 微网站模板wordpress外贸询盘插件