MOngoDB的排序是挺有用的   ,跟MySQL有明显的区别 。。

它的原生语法的第一个参数为条件限定,第二个参数为排序字段

db.news.find({},{'_id':1})   #1是升序   -1是降序

pymongo的写法为:

db.news.sort([('_id',-1)])

MongoDB的进阶使用,分组操作

db.collection.aggregate([array]);

array 可以是任何一个或多个操作符。

group和match的用法,使用sqlserver,group的用法很好理解,根据指定列进行分组统计,可以统计分组的数量,也能统计分组中的和或者平均值等。

group之前的match,是对源数据进行查询,group之后的match是对group之后的数据进行筛选

同理,sort,skip,limit也是同样的道理:

{_id:1,name:"a",status:1,num:1} ,{_id:2,name:"a",status:0,num:2},{_id:3,name:"b",status:1,num:3}

以下是我综合列出来的一些实例,

应用一:统计name的数量和总数:

db.collection.aggregate([{$group:{_id:"$name",count:{$sum:1},total:{$sum:"$num"}}])

应用二:统计status =1 的那么的数量:

db.collection.aggregate([

{$match:{status:1}},

{$group:{_id:"$name",count:{$sum:1}}}

])

应用三:统计那么的数量,并且数量为小于2的:

db.collection.aggregate([

  {$group:{_id:"$name",count:{$sum:1}},

  {$match:{count:{$lt:2}}}

])

多列group,根据name和status进行多列

db.collection.aggregate([

  {$group:{_id:{name:"$name",st:"status"},count:{$sum:1}}}

])

$project 该操作符很简单

db.collections.aggregate([

  {$project:{name:1,status:1}}

])

结果是,只有_id,name,status 三个字段的表数据,相当于sql表达式select _id,name,status from collection

$unwind

这个操作符可以将一个数组的文档拆分为多条文档,在特殊条件下有用,这个还没有研究过 ~~·

以上基本可以实现大部分统计了,group前条件,group后条件,是很重要的

多多练习   , 我还差点

flask_ Mongodb 的语法-排序的更多相关文章

  1. mongodb中的排序和索引快速学习

    在mongodb中,排序和索引其实都是十分容易的,先来小结下排序: 1 先插入些数据    db.SortTest.insert( { name : "Denis", age : ...

  2. 非关系型数据库mongodb的语法模式

    from pymongo import MongoClient #连接 conn = MongoClient() #进入数据库 db = conn.edianzu #连接mydb数据库,没有则自动创建 ...

  3. MongoDB 基本语法笔记

    MongoDB常识 MongoDB Shell是MongoDB自带的交互式Javascript shell,所以可直接执行JS脚本,用来对MongoDB进行操作和管理的交互式环境. ObjectId: ...

  4. mongodb 基础语法

    参考原文:菜鸟教程 目录 一.数据库二.文档三.索引四.聚合 一.数据库 show dbs -- 查看所有数据库 use DATABASE_NAME -- 如果数据库不存在,则创建数据库,否则切换到指 ...

  5. MongoDB 查询语法

    转载 http://blog.163.com/lgh_2002/blog/static/440175262012052116455/ 详见官方的手册:http://www.mongodb.org/di ...

  6. mongodb c#语法基础

    这里采用的是mongoDB官网推荐使用.net驱动: http://mongodb.github.io/mongo-csharp-driver/2.0/getting_started/quick_to ...

  7. MongoDB概述&语法

    Nosql DB 这是一个非关系型数据库. 通常我们的数据库有三类:  关系型数据库(RDBMS),联机分析处理数据库(OLAP),和菲关系型数据库(NoSql). MongoDB属于第三种,而且是一 ...

  8. MongoDB查询语法

    mongoDb是非关系型数据库,用习惯了mssql,mysql等数据库的需要转换一下思维 mongoDb存的是与js的json结构一样的文档,表中的每一条记录都可以结构不同 1,大于,小于,大于等于, ...

  9. mongodb 基本语法

    成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输入help可以看到基本操作命令: show dbs:显示数据库列表 show collections:显示 ...

随机推荐

  1. Codeforces Round #524 (Div. 2) F. Katya and Segments Sets(主席树)

    https://codeforces.com/contest/1080/problem/F 题意 有k个区间,区间的种类有n种,有m个询问(n,m<=1e5,k<=3e5),每次询问a,b ...

  2. 分分钟搞懂union与union all

    SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每 ...

  3. nigos core 安装配置

    系统环境      Apache        PHP        GCC compiler        GD development libraries 环境安装     yum install ...

  4. nginx location配置和rewrite写法

    location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配 ...

  5. #微码分享#C++变参字符串格式化函数format_string

    在C和C++中,变参格式化函数虽然非类型安全,但却十分便利,因为得到广泛使用.对于常见的size_t类型要用“%zu”,ssize_t用”%zd“,int64_t用“% ”PRId64,uint64_ ...

  6. Forward团队-爬虫豆瓣top250项目-代码设计规范

    组长地址:http://www.cnblogs.com/mazhuangmz/p/7603641.html 成员:马壮,李志宇,刘子轩,年光宇,邢云淇,张良 1.缩进采用一个Tab键 2.大括号:如: ...

  7. kepware http接口 swift

    读取某变量的值 import Foundation let headers = [ "Connection": "keep-alive", "Cach ...

  8. kafka参数

    转载地址http://debugo.com/kafka-params/ ############################# System ########################### ...

  9. codeforces 982 c

    给你一棵树 让你进行切割 问你最多能切多少刀   使得每个连通分量size都是偶数 思路:首先  要是有奇数个节点的话   那么不管你怎么切割  都会有一个连通分量的size是奇数 所以只有偶数的情况 ...

  10. hdu 4902 线段树+逆向模拟

    http://acm.hdu.edu.cn/showproblem.php?pid=4902 出n个数,然后对这n个数进行两种操作: 如果是 1 l r x,则把 [l, r] 区间里面的每一个数都变 ...