文档章节

mongodb命令总结

yeqiang2015
 yeqiang2015
发布于 2017/12/07 20:56
字数 443
阅读 7
收藏 0

以下是前一段时间做项目涉及到mognodb的一些命令的总结(以后如果有会继续完善)

mongodb查询某条件下的数量

db.accountMongoEntity.find({libraryno:'A450000GXG'}).count();

删除某字段为某值的数据

db.accountMongoEntity.remove({libraryno:'A450000GXG'});

查询值为‘null’字符串的数据量:

db.accountMongoEntity.find({libraryno:'null'}).count();

 

查询某个字段值为空的数据量

db.accountMongoEntity.find({upperUid:{$in:[null]}}).count();

查询某个字段值不为空的数据量

db.accountMongoEntity.find({upperUid:{$ne:null}}).count();

 

 

mongodb查询索引

db.accountMongoEntity.getIndexes();

mongodb创建索引:

db.accountMongoEntity.ensureIndex({'upperUid':1});

 

用命令导入mongodb数据(重要)

./mongoimport --db idm --host 127.0.0.1:27017 --authenticationDatabase=idm -u bkmanager -p execute2017*go --file /usr/Netauth/accountMongoEntity.json

参考网站 :http://blog.csdn.net/zwyjg/article/details/52243136

详细步骤:

1.进入linux的mongodb的安装目录下的bin目录下(/usr/local/mongodb/bin);

2.执行上面的命令语句,其中:

--db 后面跟数据库名

--host 跟服务器地址ip和端口

--authenticationDatabase 后面跟要认证的数据库名

-u 表示认证的账号

-p 表示认证的密码

--file 表示文件导入(--out 表示导出)

最后面是要导入的json文件的详细路径(包含文件名)

 

分页查询

1.官方推荐

db.mongolist.aggregate([

{$group:{ _id:"$_id",count:{$sum:1}}},

{$match:{value:{$gte:2}}}

])

 

2.自己总结

按idno进行分组查询,并统计每个的数量(重要):

db.accountMongoEntity.aggregate([ { $group: {"_id": { "idno" : "$idno"},count:{$sum:1}}}, {$match:{count:{$gte:2}}} ],{ allowDiskUse: true });

期中allowDiskUse:true表示放开内存限制

 

查询mongodb的一个集合并做更新操作(直接可以遍历整个集合中的每一条记录,并对每一条进行修改操作,记录过时间,处理500万数据量,将近3小时):

var obj= db.accountMongoEntity.find({});

var count = 0;

while(obj.hasNext()){

    count++;

 var per = obj.next();

db.accountMongoEntity.update({_id:per._id},

     {$set:{upperUid:per.uid.toUpperCase()}}

    ,false,true)

}

printjson("总共用户数:"+count);

 

 

© 著作权归作者所有

yeqiang2015
粉丝 2
博文 21
码字总数 7740
作品 0
丰台
后端工程师
私信 提问
MongoDB自动备份全过程实录

MongoDB自动备份全过程实录 2019年05月10日 16:44:08 zl1zl2zl3 阅读数 11 前段时间,个人小程序 因服务器磁盘空间被占满,导致MongoDB挂了。清理了一些无用的数据后,重启MongoDB,竟然无法...

linjin200
06/17
13
0
最全面MongoDB安装与配置

数据是每一前端人员必定接触的一样,所有的数据都是后端来编写,如果自己想练习项目,却没有数据,而是写一些假数据,去编写,或者通过json-server搭建一个数据,今天我们就通过MongoDB来搭建...

小周sri的码农
2018/08/06
0
0
如何在 Ubuntu 上安装 MongoDB

本教程介绍了在 Ubuntu 和基于 Ubuntu 的 Linux 发行版上安装 MongoDB 的两种方法。 MongoDB 是一个越来越流行的自由开源的 NoSQL 数据库,它将数据存储在类似 JSON 的灵活文档集中,这与 SQ...

作者: Sergiu
08/02
0
0
CentOS7/RHEL7-使用yum快速安装mongodb3.6

  前言   CentOS上安装epel-release的yum源之后就可以安装MongoDB,但是版本都是比较老的,如果使用MongoDB官方的yum就可以安装到比较新版本的MongoDB。      配置yum源   cat > /...

linux运维菜
2018/09/12
0
0
如何保证MongoDB的安全性?

上周写了个简短的新闻《MongoDB裸奔,2亿国人求职简历泄漏!》: 根据安全站点HackenProof的报告,由于MongoDB数据库没有采取任何安全保护措施,导致共计202,730,434份国人求职简历泄漏。 然...

Fundebug
01/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
146
8
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
18
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
11
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部