mongo aggregate 用法记录】的更多相关文章

mongo 聚合查询查询还是很方便的,做下记录     依赖的jar是org.springframework.data.mongodb 1.9.6  低版本可能不支持. 数据结构  大概是  这是一份问卷,问卷有15题,统计 { "_id": ObjectId("5a30eeef84aeea4fbcd6045c"), "_class": "com.fjhb.elearning.model.QuestionnaireSurvey"…
Go/Python/Erlang编程语言对比分析及示例   本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性,不过最主要的原因是这几个我比较熟悉. Go的很多语言特性借鉴与它的三个祖先:C,Pascal和CSP.Go的语法.数据类型.控制流等继承于C,Go的包.面对对象等思想来源于Pascal分支,而Go最大的语言特色,基于管道通信的协程并发模型,则借鉴于CSP分支. Go/Python/Erlang语言特…
封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创建Logger类,完整代码如下: /// <summary> /// 日志工具类(基于NLog.Mongo组件) /// Author:左文俊 /// Date:2017/12/11 /// </summary> public class LogUtil { private NLog.…
封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创建Logger类,完整代码如下: using NLog; using NLog.Config; using NLog.Mongo; using NLog.Targets; using System; using System.Collections.Generic; using System.IO;…
pt-kill 用法记录 # 参考资料Percona-Toolkit系列之pt-kill杀会话利器http://www.fordba.com/percona-toolkit-pt-kill.html 1.pt-kill 生产环境中我们时常遇到这样的情况,数据库性能恶劣,需要马上杀掉全部会话,不然数据库就挂起来.我们可以先找show processlist的输出来杀会话,但是比较麻烦.pt-kill为我们解决了杀会话问题. 2.常用杀会话场景 -- 1.每10秒检查一次,发现有 Query 的进程…
CURL 用法记录 在工作中经常需要用到curl 命令,记录一下常用的场景 Send a POST Request with JSON Data curl -d '{"login": "emma", "pass": "123"}' -H 'Content-Type: application/json' https://google.com/login -d 等同于 --data ; -d 会默认发POST请求 Send a P…
1 mongo的安装 1.添加MongoDB安装源 1.添加MongoDB安装源vim /etc/yum.repos.d/mongodb-enterprise.repo 将下列配置项写入文件 [mongodb-enterprise] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/stable/$basearch/ gpgch…
spring data mongo 打印mongo NoSql语句 log4j.properties log4j.rootLogger=INFO, stdout log4j.logger.org.springframework.data.mongodb.core=DEBUG, mongodb log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.ap…
Enumerable.Aggregate 扩展方法在System.Linq命名空间中,是Enumerable类的第一个方法(按字母顺序排名),但确是Enumerable里面相对复杂的方法. MSDN对它的说明是:对序列应用累加器函数.备注中还有一些说明,大意是这个方法比较复杂,一般情况下用Sum.Max.Min.Average就可以了.看看下面的代码,有了Sum,谁还会用Aggregate呢! 也很简单吧,就是一个循环!前面lambda表达式中参数a, n 分别对应current, enumer…
https://cnodejs.org/topic/59264f62855efbac2cf7a2f3 背景 现有1000条学生记录,结构如下: { name:String,//名称 clazz:{type:ObjectId,ref:"classes"},//班级id status:Number,//状态 1在校 2离校 marks:[Number],//标记 1迟到 2早退 3请假 age:Number//年龄 } 需求 要求统计1000个学生的所在班级列表,列表内容如下(模拟数据,不…
这一篇主要用来记录在学习过程中遇到的一些觉得有意思的函数或者类的用法,有一些用法感觉很炫酷. 1.collections.defaultdict from collections import defaultdict d = defaultdict(lambda: defaultdict(int)) # 给嵌套字典进行添加默认值 # 如d['a'][['b'] = 0 # 注意:# 在判断键是否存在时,稍不注意容易向d中添加键值对,只要出现d['a']['c']就会将键加如字典d['a']['c…
jqueryui 的 widget 中包含了基本上我们都需要的ui组件, 除了那个unslider. 参考地址是: www.jqueryui.com. 要能够看懂/并使用/ 完全掌握的话, 就要使用其中的 api 关于选项的格式和思想都是: 用json 的方式{key: value}, jquery/js中都有清晰的数据类型的, 如boolean类型的 false/true, 字符串类型的就要用引号. 而且要能够使用原生的js 和 jquery 联合编程. 配色方案: 经典/常用的: 主色调:…
Aggregate这个语法可以做一些复杂的聚合运算,例如累计求和,累计求乘积.它接受2个参数,一般第一个参数是称为累积数(默认情况下等于第一个值),而第二个代表了下一个值.第一次计算之后,计算的结果会替换掉第一个参数,继续参与下一次计算. 一.Aggregate用于集合的简单的累加.阶乘 .using System; .using System.Linq; . .class Program .{ .static void Main() .{ ., , , , }; .int result = a…
一.前台显示 备注:一次性取出所有节点 function loadTreeData() { $.ajax({ type: 'POST', url: '@(Html.UrlHref("ScriptSite", "/FilesManager/MyFiles/GetFolderTree"))', data: {}, success: function (result) { if (result) { inlineDefault = new kendo.data.Hiera…
1.使用jquery实现 图片延迟加载 由于用户访问页面需要加载很多的图片,延迟加载技术在电子商务网站领域越来越普及,淘宝商城,京东商城,凡客等访问量巨大的电子商务站点为了增加用户用户体验,访问速度以及减少对自身服务器的压力,纷纷研发或使用延迟加载技术.当然如果没有前端开发的深入研究很难写出自己的js特效包. jquery.lazyload.js就是一个基于jquery框架库的特效应用.它能让用户访问页面的时候,只加载当前屏幕所见内容的图片. jquery.lazyload.js使用方法:首先页…
java用法总结 计时 long startTime = System.nanoTime(); solution.process(inputFile); long endTime = System.nanoTime(); long totalTime = (endTime - startTime) / 1000; // 单位 us 按行读文件 BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStr…
$group 按照什么排序, 关照 _id 这个是排序的依据 $match 这个从排序的结果内抽取 count 大于一的 allDiskUse  如果内存配置比较小, 设置这个才能运行, 否则会崩. 然后对找出来的结果集进行删除. db.all_name.aggregate([{     $group:{_id:"$name",count:{$sum:1},dups:{$addToSet:'$_id'}} },    { $match:{count:{$gt:1}} }],    {a…
在jdk1.5中,java提供了很多工具类帮助我们进行并发编程,其中就有CountDownLatch和CyclicBarrie 1.CountDownLatch的用法 CountDownLatch 位于 java.util.concurrent 包下,其中最主要的方法就是 两个await方法了, 当我们调用await方法时,当前线程会被挂起,直到count的值为零才继续执行 public void await() throws InterruptedException { sync.acquir…
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed [-nefri] ‘command’ 输入文本 常用选项:        -n∶使用安静(silent)模式.在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上.但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来.        -e∶直接在…
@SuppressWarnings注解用法 @SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点调试时打的断点. 如图所示: 这时候我们在方法上加上@SuppressWarnings注解就可以消除这些警告的产生,注解的使用有三种: 1. @SuppressWarnings("unchecked") [^ 抑制单类型的警告] 2. @SuppressWarnings("unchecked","ra…
https://www.cnblogs.com/lzrabbit/archive/2012/03/23/2413180.html https://blog.csdn.net/guyswj/article/details/81940188 一.引用log4net 二.在AssemblyInfo.cs中添加 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension…
ActiveRecord 使用方法 Example1 in查询 $criteria = new CDbCriteria(); $criteria->select = $select; $criteria->addCondition(["shop_id='$storeId.'", "on_state=$saleStatus"]); $criteria->addCondition("goods_id in (". join(&quo…
https://blog.csdn.net/hitwengqi/article/details/8015646 先是c++11之前的 1.最基础,进程同时创建5个线程,各自调用同一个函数 #include <iostream> #include <pthread.h> //多线程相关操作头文件,可移植众多平台 using namespace std; #define NUM_THREADS 5 //线程数 void* say_hello( void* args ) { cout &…
all函数可以返回对象中是否所有元素均为True 代码如下:(此处仅做简单记录,日后不忙时再认真总结) >>> print(list(map(lambda x: True if x > 0 else False, [1,2,3,4]))) [True, True, True, True] >>> print(list(map(lambda x: True if x > 0 else False, [1,-2,3,4]))) [True, False, Tru…
2016-10-20 08:31:46 在navicat创建表的时候,遇到"#1166 - Incorrect column name'Id'"问题,原因是创建的字段中有空格(是直接从数据库字典复制过来造成的). 2016-10-24 10:47:38 LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行. 2016-10-26 15:30:56 给表添加注释 ALTER TABLE table_nam…
有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值.位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法.标准库提供了bitset类使得处理位集合更容易一些.要使用bitset类就必须要包含相关的头文件.在本书提供的例子中,假设都使用了std::bitset的using声明: #i nclude <bitset> using std::bitset; 3.5.1  bitset的定义和初始化 表3-6列出了bitset的构造函数.类似于vector,bit…
    -- ============================================= -- Author:                tanghong -- Create date: 20130628154520 -- ============================================= CREATE PROCEDURE [dbo].[PersonalPrizeCount] @EndDate datetime, @iGroup int, @Trade…
前言 防火墙对服务器起到一定的保护作用,所以了解一些相关的操作是很有必要的. 在CentOS 7.x中,有了一种新的防火墙策略,FireWall , 还记得在6.x中用的还是iptables. 这几天一直在自己的服务器上瞎搞,由于关于这个防火墙的命令还没有烂熟于心,每次都需要google一下,所以就自己动手整理了一下,方便今后的使用也同时加强记忆. 基本命令 在CentOS 7.x中,防火墙的基本命令是 firewall-cmd 先通过man firewall-cmd 来简单看看它的帮助文档.…
下载docker镜像 docker pull ubuntu 查看所有docker镜像 docker images 运行docker镜像且进入shell docker run -it ubuntu bash 退出运行的docker容器 exit 运行某一个docker容器 docker start id或者名称 停止某一个docker容器 docker stop id或者名称 进入某一个正在运行的docker容器 docker exec -it id或者名称 bash 删除某一个docker容器…
(一).判断 某字段 是否包含 某字符串 select * from mc_member m where instr(m.bu, 'BU') > 0 --查询bu包含'BU' (二).将 某字段,符合条件的部分字符串,替换成 指定的字符串 update mc_member m set m.bu = replace(m.bu,'BU','') where instr(m.bu, 'BU') > 0 --去掉(替换成空)bu 里 的BU字符串 (三).判断 某字符串 的长度 select * fr…