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的更多相关文章

  1. mongoDB - 日常操作三

    MongoDB 进程控制 进程控制 db.currentOp() # 查看活动进程 db.$cmd.sys.inprog.findOne() # 查看活动进程 与上面一样 opid # 操作进程号 o ...

  2. mongoDB - 日常操作一

    mongodb 启动方式 # 不启动认证 ./mongod --bind_ip 172.16.2.17 --port --fork --logpath=/opt/mongodb/mongodb.log ...

  3. MongoDB - 日常操作二

    MongoDB 开启认证与用户管理  ./mongo # 先登录 use admin # 切换到admin库 db.addUser(") # 创建用户 db.addUser('zhansan ...

  4. mongoDB - 日常操作四

    python 使用 mongodb easy_install pymongo # 安装(python2.+) import pymongo connection=pymongo.Connection( ...

  5. MongoDB入门(4)- MongoDB日常操作

    MongoDB客户端 MongoDB有很多客户端 MongoVue Robomongo MongoDB命令行 启动mongo shell 在windows下,双击mongo.exe可以启动mongo ...

  6. ORACLE日常操作手册

    转发自:http://blog.csdn.net/lichangzai/article/details/7955766 以前为开发人员编写的oracle基础操作手册,都基本的oracle操作和SQL语 ...

  7. Oracle 11g 物理Dataguard日常操作维护(二)

    Oracle 11g 物理Dataguard日常操作维护(二) 2017年8月25日 14:34 3.3 3.3.1 查看备库进程状态 SYS(125_7)@fpyj123> select pr ...

  8. MongoDB查询操作限制返回字段的方法

    这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下   映射(projection )声明用来限制所有查询匹配文档的返回字段.projection以文档的形式列举结果集中 ...

  9. EasyUI-datagrid数据展示+MongoDB数据操作

    使用EasyUI-datagrid进行数据展示:进行添加,修改,删除操作逻辑代码,数据源来自MongoDB. 一.新建SiteInfo控制器,添加Index页面:http://www.cnblogs. ...

  10. Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作

    2 Mongodb CRUD 操作 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mong ...

随机推荐

  1. npm 局部安装 jbrowse

    #此处不要加 -g参数 , -g 是全局安装 npm install @jbrowse/cli #用npx 才能使用这个包,无法按照官方文档直接使用 npx jbrowse --version

  2. 一个比较全的C++农历算法(转)

    这以前本是一个MFC代码,我在这个基础上修改成了标准C++的.. 即可以在VC里用,也可以在C++Builder里用..所以一并放到这里来, 希望有人喜欢..喜欢的就给点鼓励啊~~ 示例代码: 代码: ...

  3. 【SSO单点系列】(10):CAS4.0 之 https证书

    来源: http://m.blog.csdn.net/zrk1000/article/details/51166603 http://blog.csdn.net/zhurhyme/article/de ...

  4. postgresql数据库插入和读取图片

    postgresql插入和读取图片 postgresql存储图片需要二进制类型bytea,创建一张测试表: postgres=# create table test_image(img bytea); ...

  5. web.py 中的分页设计

    1.定义分页类 class Pagination(object): ''' 分页类 参数: per_page:每页数量 total_data:总数目 cur_page:当前页. 用法:(flask,h ...

  6. 从傻逼才做的大创开始的NLP学习

    先实名辱骂一下保加利亚电信的毕业生,留个源码,源码里把自己训好的模型删了,洗好的文本删了,什么都给删了,白茫茫一片真他妈干净. 简单说说目前在做的这个东西,姑且算是个项目吧: 给出一个问句,通过实体识 ...

  7. pytorch的三种量化方式详解

    pytorch的三种量化方式详解 这篇博客详细介绍了pytorch官方教程提到的三种量化方式的原理,详细解释了三种量化方式的区别: 1. 静态量化 :torch.quantize_per_tensor ...

  8. 2、Maven

  9. VMware Workstation 未能启动VMware Authentication Service

    (1)今天像往常一样打开vmware启动虚拟机,但是弹出个框,显示VMware Workstations 未启动VMware Authorization Service,让我尝试手动启动. (2)Wi ...

  10. STM32F407 HardFault_Handler 中断输出初步定位越界问题

    1.测试环境:MDK + STM32F407 2.汇编重写 HardFault_Handler  中断 3.根据输出 nextPoint 地址对照编译生成的 .map 文件 /* 硬件错误中断的回调 ...