mongodb常用语法
// Employee表
{
"_id" : "9e794fb9-12dc-457c-8c5a-69fe45c57685",
"No" : 2018090821,
"Name" : "Kelly",
"Age" : 18,
"Addresses":[
{"Type" : "Home", "Location" : "Beijing"},
{"Type" : "Office", "Location" : "Beijing"}
]
} // 分页过滤查找
db.Employee.aggregate([
{ $match:{"Name":"Kelly"}},
{ $project:{"Name":1, "Age":1}},
{ $sort:{"Age":1}},
{ $skip:1000},
{ $limit:30}
],{allowDiskUse:true}) // 查找不在北京工作的员工(数组操作)
db.Employee.aggregate([
{"$match": {"Type" : "Office", "Addresses": {$not:{$elemMatch:{"Location": "Beijing"}}}}}
],{allowDiskUse:true}) var result = db.Employee.distinct("No", {"Type" : "Office", "Location": "Beijing"})
db.Employee.aggregate([
{"$match": {"No": {$nin: result}}}
],{allowDiskUse:true}) // 查找在北京工作,且有2个以上住宅的员工
db.Employee.aggregate([
{"$match": {"Type" : "Office", "Location": "Beijing"}},
{"$unwind": "$Addresses"},
{"$match": {"Addresses.Type": "House"}},
{"$group": {_id: "$No", "count": {"$sum": 1}}},
{"$match": {"count": {"$gt": 2}}},
{"sort": {"count":1}}
],{allowDiskUse:true}) // 查找年龄为23-26,名字为Lily或Sam的员工
db.Employee.find({$or:[{"name":"Lily"},{"name":"Sam"}], "Age":{$gte: 23, $lte: 26}}, {"No":1, "Name":1, "_id":0})
select country, province from dbo.regions group by country, province having count(distinct city)>1 order by country, province
db.getCollection('dbo.regions').aggregate([
{$group:{_id:{"country" :"$country" ,"province":"$province", "city":"$city"}}}
,{$group:{_id:{"country" :"$_id.country" ,"province":"$_id.province"}, count: {$sum:1}}}
,{$match:{count:{$gt:1}}}
// ,{$project: {"country" :"$_id.country" ,"province":"$_id.province", "_id":0}}
// ,{$sort: {"country" : 1, "province":1}}
// ,{$group:{_id:{"country" :"$country" }, count: {$sum:1}}},
])
mongodb常用语法的更多相关文章
- Mongodb 常用语法
以下语法为在控制台使用的.假定有集合(相当于关系型数据库的库)qyxxcx,文档(相当于表)qyxx,jyzcjzs show dbs use qyxxcx db show collections d ...
- MongoDB 常用的几大GUI工具
MongoDB 常用的几大GUI工具 MongoDBCompass (官方的连接工具),免费的,界面简洁,不支持 sql 查询,支持性能监控.支持在三大平台 Windows .Mac .Linux 上 ...
- mongodb常用命令学习笔记
mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...
- Markdown通用的常用语法说明
前言 Markdown 是一种轻量级的 标记语言,语法简洁明了.学习容易,还具有其他很多优点,目前被越来越多的人用来写作使用. Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表 ...
- Markdown简介以及常用语法
Markdown简介以及常用语法 最近发现用markdown记录东西很方便,感觉和emacs的org mode很类似,但是windows下使用emacs不是很方便.特此记录一下markdown常用的语 ...
- Sql常用语法以及名词解释
Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...
- Markdown常用语法
什么是Markdown Markdown 是一种方便记忆.书写的纯文本标记语言,用户可以使用这些标记符号以最小的输入代价生成极富表现力的文档. 通过Markdown简单的语法,就可以使普通文本内容具有 ...
- (转)mongodb常用命令脚本化-自动化运维
mongodb常用命令脚本化-自动化运维 把一些运维中常用到的mongodb命令写成shell脚本,极大的方便了维护 1 设置副本集 #!/bin/bash#mongodb 进入client ...
- 2 hive的使用 + hive的常用语法
本博文的主要内容有: .hive的常用语法 .内部表 .外部表 .内部表,被drop掉,会发生什么? .外部表,被drop掉,会发生什么? .内部表和外部表的,保存的路径在哪? .用于创建一些临时表存 ...
随机推荐
- 1 Python入门及计算机硬件知识
一: Python是一种编程语言 语言: 语言是一种事物与另外一种事物沟通的介质 所以说编程语言是程序员和计算机之间实现沟通的桥梁 什么是编程?: 编程就是程序员用计算机所能理解的表达方式(编程语言) ...
- java调.NET webapi时间戳报错问题
JAVA时间戳长度是13位,如:1294890876859 PHP .NET时间戳长度是10位, 如:1294890859 主要最后三位的不同,JAVA时间戳在.NETPHP中使用,去掉后三位,如:1 ...
- ubuntu创建wifi热点plasma-nm
第一步:安装 plasma-nm sudo apt-get install plasma-nm 第二步:启动程序 可以使用 Alt+F2 后,搜索 kde-nm-connection-editor 也 ...
- Javascirpt 常见的误区
var foo = new Object(); var bar = new Object(); var map = new Object(); map[foo] = "foo"; ...
- Ajax轮询消息自动提示(消息盒子)
经过一下午写了个消息盒子的例子,用的是ajax方式轮询读取,没有用到后台自动“推”数据的方式,效果良好. <%@ Page Language="C#" AutoEventWi ...
- 在Android模拟器里安装apk
[原文]http://Android.tgbus.com/android/tutorial/201104/349532.shtml 1.运行SDK Manager,选择模拟器,并运行模拟器. 2.将需 ...
- ArcGis Android 10.2.6更新文档翻译
ArcGis Android 10.2.6更新文档翻译 @[ArcGis Android|10.2.6|更新文档] 本文描述了ArcGIS Runtime SDK for Android 10.2.6 ...
- java 异步调用与多线程
异步与多线程的区别 一.异步和多线程有什么区别?其实,异步是目的,而多 线程是实现这个目的的方法.异步是说,A发起一个操作后(一般都是比较耗时的操作,如果不耗时的操作 就没有必要异步了),可以继续自顾 ...
- Replication--使用MSlogreader_history查看日志读起的延迟和事务命令
--======================================================================== MSlogreader_history 表存放本地 ...
- 爬虫--使用scrapy爬取糗事百科并在txt文件中持久化存储
工程目录结构 spiders下的first源码 # -*- coding: utf- -*- import scrapy from firstBlood.items import Firstblood ...