mongoDB日常操作02
db.TABLE_NAME.find({<query>})//普通查询
db.TABLE_NAME.find({<query>},{'_id':0,'f1':1,'f2':1})//只返回f1、f2,不返回其他字段,全1,默认返回_id,可设定_id:0,使_id不返回
db.TABLE_NAME.find({<query>},{'f1':0,'f2':0})//不返回f1、f2,返回其他字段,全0
db.TABLE_NAME.find({<query>}).pretty()//格式化查询
db.TABLE_NAME.find({<query>}).count()//计数
db.TABLE_NAME.distinct({'f1,f2',{<query>}})//去重
db.TABLE_NAME.distinct({'f1,f2',{<query>}}).length//去重计数
db.TABLE_NAME.aggregate([
{
$lookup:{//连表
from:'table0',
localField:'localField',
foreignField:'foreignField',
as:'table0'
}
},
{
$unwind:'$table0'//扁平化,将数组数据拆分
},
{
$match:{<query>}//查询语句
},
{
$project:{
'_id':0,//去掉_id
'F1':'$table.f1',//取别称
'F2':'$table0.f2',
'F3':{//case when
$cond:{if:{$gte:['$f3',30]},then:0,else:50}
}
}
},
])
//$set:set
$unset:移除
$inc:自增,带自增量级参数
db.TABLE_NAME.update({<query>},{$set:{},$unset:{},$inc:{'f1':inc}})//更新一条
db.TABLE_NAME.update({<query>},{$set:{}},false,true)//全部更新,未查询到结果不做操作
db.TABLE_NAME.update({<query>},{$set:{}},true,false)//添加一条,未查询到结果则插入
db.TABLE_NAME.update({<query>},{$set:{}},true,true)//添加所有
db.TABLE_NAME.update({<query>},{$set:{}},false,false)//更新一条
$lt 小于;lte 小于等于;$gt 大于;$gte 大于等于;$ne 不等于;$eq 等于
$or:[
{<query1>},{<query2>},...
]
$and:[
{<query1>},{<query2>},...
]
$not:{}//取反
$in:[//in
'value1','value2',...
]
./mongoimport -d xdgcdb -c table_name --type json --file table_name.json(本地导入)
./mongoexport -d xdgcdb -c table_name -o table_name.json --type json(本地导出)
//导出json
./mongoexport --port ***** -u ****** -p ****** --authenticationDatabase admin -d xdgcdb -c table_name -o table_name.json --type json
//导出csv
./mongoexport --port ***** -u ****** -p ****** --authenticationDatabase admin -d xdgcdb -c table_name -f "_id,f1,f2,f3,..." -q "{}" -o table_name.csv --type csv
//导入json
./mongoimport --port ***** -u ****** -p ****** --authenticationDatabase admin -d xdgcdb -c table_name --type json --file table_name.json
//导入csv
./mongoimport --port ***** -u ****** -p ****** --authenticationDatabase admin -d xdgcdb -c table_name --type csv --headerline --file table_name.csv
//创建以f1升序f2降序,名为index_f1_f2,自动在180秒后清除的索引
db.collection.createIndex({'f1':1,f2:-1}, {name:'index_f1_f2',expireAfterSeconds: 180})
//查看所有索引
db.col.getIndexes()
//查看索引大小
db.col.totalIndexSize()
//删除所有索引
db.col.dropIndexes()
//查看名为index_f1_f2的索引
db.col.dropIndex("index_f1_f2")
//创建数组索引
db.c.ensureIndex({"f1":1,"f2":1,"f3":1})
//创建固定集合,集合大小为10000k,容量为1000条,当大小或容量满出时,覆盖第一条记录,可用于日志记录
db.createCollection("c1",{capped:true,size:10000,max:1000})
//判断集合是否为固定集合
db.c2.isCapped()
//将以存在的集合转为固定集合
db.runCommand({"convertToCapped":"c2",size:10000})
查询并删除当前时间之前的数据
db.lcpt_part_info.remove({'object._s.ut':{'$lt':'2020-06-02 23:59:59'}})
查询并删除当前时间之后的数据
db.lcpt_group_info.remove({'object._s.ut':{'$lt':'2020-06-02 23:59:59'}})
查询并更新数据 set更新
db.ptd_business_group.update({'ptd_business_group.partname':'团长姓名'},{$set:{'ptd_business_group.endtime':'2020-05-25 15:59:14'}})
多表查询并更新/删除数据
db.ptd_business_part.find({'ptd_business_part.name':'刘维巍','ptd_business_part.idno':'500102198811280513'}).forEach(
function(item){
db.ptd_business_group.update({_id:item.ptd_business_part.groupid},{$set:{'ptd_business_group.group.查询到的团员表id':'','ptd_business_group.cgsize':'1','ptd_business_group.ngsize':'4'}},true)
}
);
单条数据导入或导出
导出
./mongoexport --port 29034 -u 账户名 -p 密码 -- authenticationDatabase admin -d 库名-c 表名 -q '{"查询语句"}' -o 导出名以及地址.json --type json(本地导出)
mongoDB日常操作02的更多相关文章
- mongoDB - 日常操作三
MongoDB 进程控制 进程控制 db.currentOp() # 查看活动进程 db.$cmd.sys.inprog.findOne() # 查看活动进程 与上面一样 opid # 操作进程号 o ...
- mongoDB - 日常操作一
mongodb 启动方式 # 不启动认证 ./mongod --bind_ip 172.16.2.17 --port --fork --logpath=/opt/mongodb/mongodb.log ...
- MongoDB - 日常操作二
MongoDB 开启认证与用户管理 ./mongo # 先登录 use admin # 切换到admin库 db.addUser(") # 创建用户 db.addUser('zhansan ...
- mongoDB - 日常操作四
python 使用 mongodb easy_install pymongo # 安装(python2.+) import pymongo connection=pymongo.Connection( ...
- MongoDB入门(4)- MongoDB日常操作
MongoDB客户端 MongoDB有很多客户端 MongoVue Robomongo MongoDB命令行 启动mongo shell 在windows下,双击mongo.exe可以启动mongo ...
- ORACLE日常操作手册
转发自:http://blog.csdn.net/lichangzai/article/details/7955766 以前为开发人员编写的oracle基础操作手册,都基本的oracle操作和SQL语 ...
- Oracle 11g 物理Dataguard日常操作维护(二)
Oracle 11g 物理Dataguard日常操作维护(二) 2017年8月25日 14:34 3.3 3.3.1 查看备库进程状态 SYS(125_7)@fpyj123> select pr ...
- MongoDB查询操作限制返回字段的方法
这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下 映射(projection )声明用来限制所有查询匹配文档的返回字段.projection以文档的形式列举结果集中 ...
- EasyUI-datagrid数据展示+MongoDB数据操作
使用EasyUI-datagrid进行数据展示:进行添加,修改,删除操作逻辑代码,数据源来自MongoDB. 一.新建SiteInfo控制器,添加Index页面:http://www.cnblogs. ...
- Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作
2 Mongodb CRUD 操作 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mong ...
随机推荐
- JVM(二) --- JVM的内存结构
写在文章前:本系列博客是学习黑马程序员JVM完整教程所做笔记,若有错误希望大佬们评论修正 一.概述 JVM的内存结构包括程序计数器(PC Register),虚拟机栈(JVM Stacks),堆内存( ...
- linux下启动rabbitmq,redis,nginx
这只是其中一种启动方法,也是我自己安装好后试过多次可以用的, 1,启动rabbitmq rabbitmqctl start_app rabbitmq程序端口是5672,可视化界面入口端口是15672, ...
- kubernetes构架及组件介绍
传统部署时代 早期在物理机上直接运行应用程序,无法对其定义资源边界,导致资源不分配,其他的程序性能下降 虚拟化部署时代 虚拟化允许应用程序在VM之间隔离,并提供安全界别,但是不能自由访问应用程序 因为 ...
- Selenium私房菜系列4 -- Selenium IDE的使用【QQ】
前面说过,Selenium IDE是Firefox的一个插件,是可以进行脚本录制以及案例转换,所以Selenium IDE+Firebug会成为你日后写测试案例的两大助手(IE下可以使用Seleniu ...
- C#常见的数据结构
数据结构:1.Set集合,纯粹的容器,无需存储,就是一个容器2.线型结构:在存储的时候,一对一存储3.树形结构:表达式目录树(二叉树).菜单结构:一对多4.图形结构:扩扑图.网状结构(地图开发,用C# ...
- mt5获取双色球
string cookie=NULL,headers; char post[],result[]; string ssq=""; string url="http://k ...
- gitlab 安装以及汉化
转载 https://www.bbsmax.com/A/pRdBAg465n/
- python 删除大于超过一定时间文件
import os from datetime import datetime, timedelta path = "." if __name__ == '__main__': f ...
- h5 json 生成excel
引入库文件 创建下载按钮 Download Demo Excel 实现转换 var data = [ ["Joa Doe", "joa@doe.com"], [ ...
- MATLAB基础—基础认识
数建-MATLAB(基础认识) 一些基本使用 clear all :清除Workspace中的所有变量 clc: 清除Command Window中的所有命令 注释:%%(空空格)多行注释 或 % 单 ...