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. QT debug/moc_frmalarminfo.o:(.data.rel.ro._ZTV12FrmAlarmInfo[_ZTV12FrmAlarmInfo]+0x1c0): undefined reference to `non-virtual thunk to FrmAlarmInfo::~FrmAlarmInfo()'解决方法

    这个报错很具有迷惑性,,,我在网上还看见了ZTI12的报错,但是仔细一看发现是.o文件报错. 简单解释下.o文件(此解释来自百度): o 就是object, 也就相当于windows下编译的obj文件 ...

  2. winform 中 label透明化

    label1.BackColor = Color.Transparent;//设置背景颜色为透明 label1.Parent = pictureBox1;//将pictureBox1设为标签的父控件, ...

  3. vscode 报错command line option ‘-std=c11‘ is valid for C/ObjC but not for C++

    cc1plus.exe: warning: command-line option '-std=c17' is valid for C/ObjC but not for C++ 编译运行出现警告,原因 ...

  4. word生成产生错误的原因

    技术背景 很多时候我们网站或者系统需要提供一些word文件,例如证明.docx或者订单.docx等文件供用户下载打印等. 用Java操作word文档,毫无疑问,当下最流行apache poi,对于po ...

  5. postman-增加全局环境变量

    var jsonData = pm.response.json(); var accessTokenForMip = jsonData.data.access_token; //tests[acces ...

  6. python接口测试常见问题。

    一.入参问题 1.body字段类型 1.如果数据是从excel提取的那么中文数据会提示错误. 解决方法# media_value['body'] = media_value['body'].encod ...

  7. Spring框架3--Web

    Spring框架之Web Javaweb三大组件和四大域 顺便:Javaweb中的四大域,作用范围如下:PageContext<Request<Session<ServletCont ...

  8. JavaScript基础知识整理(引用类型-Function)

    Function Function类型实际上是对象,每个函数都是Function类型的实例,自然也就具有属性和方法. 定义函数通常有三种方式 使用函数声明 function sum(num1,num2 ...

  9. Ubuntu20.04 LTS更新源

    Ubuntu 20.04 LTS Focal Fossa于2020年04月23日发布. 备份sudo cp /etc/apt/sources.list /etc/apt/sources.list.ba ...

  10. Markdown的在线使用

    欢迎使用 Markdown在线编辑器 MdEditor Markdown是一种轻量级的「标记语言」 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容 ...