MongoDB

ps 好多的MongoDB都没有设密码,默认的MongoDB都是不设置密码的,晕

$type运算符

查询类型用的
获取col集合中的title值为字符串类型的文档

db.col.find(title: {$type: 2});

limit 和 skip方法

limit查询指定的方法

> db.ming.find().pretty();
{ "_id" : ObjectId("5b5f6eb7d595bb04cbe14b96"), "ming" : "sdfrf" }
{ "_id" : ObjectId("5b5f6f0ad595bb04cbe14b97"), "name" : "refgerfg" }
{ "_id" : ObjectId("5b5f6f40d595bb04cbe14b98"), "x" : 222, "y" : 44444 }
{ "_id" : ObjectId("5b5f6f50d595bb04cbe14b99"), "x" : 4444, "y" : 22222 }
> db.ming.find().limit(2);
{ "_id" : ObjectId("5b5f6eb7d595bb04cbe14b96"), "ming" : "sdfrf" }
{ "_id" : ObjectId("5b5f6f0ad595bb04cbe14b97"), "name" : "refgerfg" }

skip是跳过第几条数据

排序

> db.ming.find({}, {ming:1, name:1}).sort({_id:-1});
{ "_id" : ObjectId("5b5f6f50d595bb04cbe14b99") }
{ "_id" : ObjectId("5b5f6f40d595bb04cbe14b98") }
{ "_id" : ObjectId("5b5f6f0ad595bb04cbe14b97"), "name" : "refgerfg" }
{ "_id" : ObjectId("5b5f6eb7d595bb04cbe14b96"), "ming" : "sdfrf" }
> db.ming.find({}.{ming:1, name:1}).sort({id:1});
2018-07-31T19:49:11.007+0800 E QUERY    [js] SyntaxError: missing name after . operator @(shell):1:16
> db.ming.find({}, {ming:1, name:1, x:1, y:1}).sort({ _id:1});
{ "_id" : ObjectId("5b5f6eb7d595bb04cbe14b96"), "ming" : "sdfrf" }
{ "_id" : ObjectId("5b5f6f0ad595bb04cbe14b97"), "name" : "refgerfg" }
{ "_id" : ObjectId("5b5f6f40d595bb04cbe14b98"), "x" : 222, "y" : 44444 }
{ "_id" : ObjectId("5b5f6f50d595bb04cbe14b99"), "x" : 4444, "y" : 22222 }
>

索引

> db.ming.createIndex({ming:1});
{"createdCollectionAutomatically" : false,"numIndexesBefore" : 1,"numIndexesAfter" : 2,"ok" : 1
}
>

ming字段按照升序创建序列

聚合

类似于sql的count()

db.ming.aggregate([($groupp: {_id : "$by-user",num_tutorial: {$sum: 1}})])

按照_id进行分组,然后对分组的文档进行统计,即对分组的文档总和统计。

管道

> db.ming.aggregate(
... {
... $project : {
... _id:0,
... x:1,
... y:1
... }
... }
... )
{  }
{  }
{ "x" : 222, "y" : 44444 }
{ "x" : 4444, "y" : 22222 }

一个值处理完成以后在传给下一个进行处理
即,值经过管道以后,会变成相应的格式

随机获取文档

db.ming.aggregate([{$sample: {size:1}}])

采用聚合,使用$sample来达到目的,其中size为随机获取的条数

sql随机获取两条记录

select *
from data
order by rand()
limit 2

mysql> select * from c order by rand() limit 2;
+--------+------------------------+-------+
| cno    | cn                     | hourc |
+--------+------------------------+-------+
| 050192 | 专业英语               | 32    |
| 090112 | 毛泽东思想、邓小平理论 | 48    |
+--------+------------------------+-------+
2 rows in set (0.10 sec)mysql> select * from c order by rand() limit 2;
+--------+----------------------+-------+
| cno    | cn                   | hourc |
+--------+----------------------+-------+
| 050198 | 计算机网络安全与应用 | 32    |
| 050150 | 计算机组装与维护     | 36    |
+--------+----------------------+-------+
2 rows in set (0.03 sec)mysql>

剩下的复制,看不下去了。

博客

www.iming.info

mongodb(2) 1相关推荐

  1. 大数据之mongodb -- (2)java集成 MongoDB 3.2,使用Spring-data-mongodb进行集成

    Java集成MongoDB有很多方式,可以直接用mongodb的java驱动程序来发送语句到mongodb服务器,也可以用第三方的工具包来做. (1) 选择版本 选择的就是springdata集成的m ...

  2. 深入浅出MongoDB(二)概述

    上次的博文深入浅出MongoDB(一)NoSQL中我们已经简单介绍了一下NoSQL的基本概念,这次我们来了解一下MongoDB的相关概念. 1.简介 MongoDB是一款由C++编写的高性能.开源.无 ...

  3. MongoDB(Golang)常用复合查询

    MongoDB(Golang)查询&修改 https://www.jianshu.com/p/b63e5cfa4ce5 >> 资源下载: https://72k.us/file/1 ...

  4. SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询

    SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询 由于在实际开发项目中,突然涉及到了需要Mongodb 进行连表操作的业务,所以我在私下进行了一波学习. 服务器 ...

  5. MongoDB(一):简介

    2019独角兽企业重金招聘Python工程师标准>>> 在高速发展的互联网时代,应对Web应用的数据膨胀是一件很头疼的事情. 举个例子,对于关系型数据库,比如MySQL,刚开始时只有 ...

  6. MongoDB ( 五 )高级_索引

    索引 在认识索引的之前我们先建立一张表,并往其中插入200万条数据. // test.js //生成随机数 function GetRandomNum(min,max){let range = max ...

  7. 大数据时代的数据存储,非关系型数据库MongoDB(一)(转)

    出处:http://www.cnblogs.com/mokafamily/p/4076954.html 爆炸式发展的NoSQL技术 在过去的很长一段时间中,关系型数据库(Relational Data ...

  8. MongoDB(一)-- 简介、安装、CRUD

    一.Mongodb简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供可 ...

  9. MongoDB(五)-- 副本集(replica Set)

    一.副本集介绍 搭建副本集是为了实现mongodb高可用. Mongodb(M)表示主节点,Mongodb(S)表示备节点,Mongodb(A)表示仲裁节点.主备节点存储数据,仲裁节点不存储数据.客户 ...

  10. Spring Boot 2 快速教程:WebFlux 集成 Mongodb(四)

    摘要:首先说明一下该博客教程是转载泥瓦匠BYSocket的文章 原创出处 https://www.bysocket.com「作者公众号:泥瓦匠BYSocket 」 原文地址:https://www.b ...

最新文章

  1. 多线程并发编程需要注意虚假唤醒Spurious wakeup
  2. 将dataGridView数据转成DataTable
  3. 如何提升 Kestrel 上传文件的大小限制?
  4. exchange 删除邮件
  5. 判断cloudblob是否存在
  6. Windows驱动程序的加载
  7. [转载]谁来拯救云计算
  8. 十大经典排序算法1(Python版本)
  9. TSC条码打印机C#例程(tsclib.dll调用)
  10. 详解 MySql InnoDB 中意向锁的作用
  11. angular2 学习二 directives - 使用组件
  12. 修改帝国cms验证码 每个都不一样
  13. 网络操作系统第224页作业
  14. css重新认识(2)
  15. 卷积神经网络(2)--卷积神经网络的认识、黑白图像的卷积操作
  16. Andorid-foreground 解析
  17. 低功耗蓝牙BLE之连接事件、连接参数和更新方法
  18. MySQL 多个in 条件需要注意的地方
  19. 如何做好产品经理-产品经理定位
  20. 免开发打造Zigbee门磁,随时随地监控门窗开合状态

热门文章

  1. 《Windows Server 2012活动目录管理实践》 目录15-28章
  2. 物联网进入规模化应用时代 万物互联时代到来
  3. Qt之QLocalSocket
  4. 详解MathType中如何插入特殊符号
  5. Applying Multicycle Exceptions in the TimeQuest Timing Analyzer--Altera Note
  6. jQuery之load方法
  7. 3G或应尽早步入细分市场时代
  8. 假如你心中有个莎乐美
  9. navicate连接远程数据库
  10. Infor与Marketo®合作,帮助全球企业实现客户体验变革