linux学习总结----mongoDB总结
dbhelper.py
用户登录和注册(加密算法)
加密导包 import hashlib 或者使用Md5 加密
MongoDB —》JSON
service mysql start
service mongod start
数据库(添加,查看,删除) —》集合(创建,删除,添加数据)
查看:
show dbs; (show databases;)
使用:
use 数据库;
随意use数据库名,但是不一定数据库就会存在。只有向数据库中添加集合,数据库才会创建
创建集合:(table)
db.createCollection(‘集合名字’) ——》存在数据库
删除:
要想删除哪个数据库,就必须先use school;
然后: db.dropDatabase();
查看当前正在使用的数据库:
db
mytest
集合的操作:
> use mytest;
switched to db mytest
> db.createCollection('employee'); —设置没有上限集合
{ "ok" : 1 }
> db.createCollection('dept',{capped:true,size:12}); —设置了上限集合
{ "ok" : 1 }
> show tables; — 查看集合
dept
employee
> show collections; —查看集合
dept
employee
> db.employee.drop(); — 删除集合 db.集合名字.drop()
true
> show collections;
添加数据:
> db.dept.insert({dname:'sales',loc:'beijing'}); —》 直接添加一个文档对象
WriteResult({ "nInserted" : 1 })
> db.dept.insert({dname:'accounting',loc:'shanghai'},{dname:'research',loc:'zhengzhou'});
WriteResult({ "nInserted" : 1 })
> db.dept.find()
{ "_id" : ObjectId("5b8f521e5f29fed989e6d8c8"), "dname" : "sales", "loc" : "beijing" }
{ "_id" : ObjectId("5b8f525d5f29fed989e6d8c9"), "dname" : "accounting", "loc" : "shanghai" }
> d1={dname:'research',loc:'zhengzhou'} —》创建d1文档对象 d1={。。。。。}
{ "dname" : "research", "loc" : "zhengzhou" }
> d1.desc='aaaa' ——》 动态给d1添加新的字段
aaaa
> db.dept.insert(d1) ——》 再将整个d1insert到dept中
WriteResult({ "nInserted" : 1 })
> db.dept.find(); ——》 查询文档中的所有数据
{ "_id" : ObjectId("5b8f521e5f29fed989e6d8c8"), "dname" : "sales", "loc" : "beijing" }
{ "_id" : ObjectId("5b8f525d5f29fed989e6d8c9"), "dname" : "accounting", "loc" : "shanghai" }
{ "_id" : ObjectId("5b8f53235f29fed989e6d8ca"), "dname" : "research", "loc" : "zhengzhou", "desc" : "aaaa" }
db.aa.insert([{a:55,b:44},{a:33,b:22,c:67,d:789}]) —>批量添加
总结: 文档结构不是固定的。
删除:
格式: db.集合名称.remove({})
db.集合名称.remove({}) 清空集合中数据
db.集合名称.remove({key:value}) 有条件的删除数据
更新:
格式: db.集合名称.update(query,value,options)
db.aa.update({a:100},{a:101,b:1000}) ——> 替换原来的内容
$set: 设置值
db.aa.update({a:101},{$set:{a:102}})
$inc:
db.aa.update({a:8},{$inc:{b:10}})
保存:save() 保存修改
db.集合.save(document)
db.集合.save({a:1000,b:1000})
db.集合.insert()
var d1 = db.集合.findOne({a:22})
d1.字段=值
打印d1
db.集合.save(d1)
查询:
find() 查询所有
findOne() 获取第一条记录
limit() 获取指定的数量
skip(n) 跳过n条记录
通常可以通过limit和skip的结合完成分页操作
db.aa.find().skip(0).limit(3)
db.aa.find().skip(3).limit(3)
db.aa.find().skip(6).limit(3)
db.aa.find().skip(9).limit(3)
page count=3
总结:
db.aa.find().skip((page-1)*count).limit(3)
limit和skip换位置也是相同的结果
投影: 就是查询指定字段的值select ename,job from employee
db.集合名.find({},{字段名:1或者0}) 1 表示显示字段信息 0 表示不显示字段信息
注意:_id如果不声明,默认是显示的 _id:0 则不显示
排序:sort({字段:1或者-1})
db.aa.find().sort({a:-1}) 按照a降序排列
db.aa.find().sort({a:1}) 按照a升序排列
db.aa.find().sort({a:-1,b:-1}) 先按照a降序排列,如果a有相同的则按照b降序排列
统计数目:类似聚合函数中count(*)
count() 函数
db.aa.find().count() 统计aa集合的记录数有多少
去重:
语法: db.集合.distinct(‘去重的字段’)
db.aa.distinct('a')
强调:db.aa.find({},{a:1}).distinct(‘a’) 报错
关系查询:
> < >= <=
$gt $lt $gte $lte
db.aa.find({字段:{$gt:6}})
db.aa.find({字段:{$lt:6}})
逻辑: {$or:[{条件1},{条件2}]} 符合条件1或者符合条件2
默认是与and {a:{$gt:8},b:{$lt:10}} a>8 and b<10
范围: $in $nin
db.aa.find({a:{$in:[7,8,18]}})
总结:
find()
findOne()
pretty() 格式化
投影:指明字段
去重: distinct()
排序: sort()
分页: limit() skip()
关系: $gt $lt $ne $gte $lte
逻辑: $or 默认是and
范围: $in $nin
统计: count()
linux学习总结----mongoDB总结的更多相关文章
- Linux学习、Mongodb部署 踩到的坑学习
一.安装Centos 7虚拟机系统 1.系统安装 下载阿里云的镜像,下载后安装,默认全程图形界面:虚拟机使用Win10自带的Hyper:碰到的坑记录下 1.在Hyper加载镜像启动的时候,提示“虚拟机 ...
- TODO:Linux安装PHP MongoDB驱动
TODO:Linux安装PHP MongoDB驱动 PHP利于学习,使用广泛,主要适用于Web开发领域. MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统 ...
- Linux学习笔记-林耐斯Notes-Linux就该这么学
Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...
- Linux~学习笔记目录索引
回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...
- Linux学习笔记-Linux系统简介
Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...
- MongoDB和Java(1):Linux下的MongoDB安装
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
- Linux学习日记-使用EF6 Code First(四)
一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是 请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...
- Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码
在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...
- Linux学习笔记之兄弟连
systemctl --user enable pulseaudio说明:安装完成后系统没有声音,用该命令可以打开.ifconfig eth0 192.168.118.1说明:给网卡设置IP地址.ap ...
随机推荐
- 多线程CSerialPort类的多串口通信实现
多线程CSerialPort类的多串口通信实现 工作了之后才发现,之前在学校里真是狭隘封闭.坐井观天,拿之前发表的论文来说,工作后接触到了底层的串口.网口开发,对线程(也叫任务).操作系统时间片轮流 ...
- Python嵌套列表去重
raw_list = [ [ 'CS_SUPP_INFO', 'A', '1'], [ 'CS_SUPP_INFO', '1', 'A'], [ 'CS_SUPP_INFO', '1', 'A'], ...
- 高考结束了,在门头沟有没有想学php建站的。
教你简单的html 教你文章后台管理 数据库管理及备份 编程工具的使用 如何找到你要学习的内容
- win7利用winSCP上传文件到ubuntu server
1.为ubuntu server设置root密码: sudo passwd root 先设密码在登录 2. su root进入root账户: 3.安装SSH:sudo apt-get install ...
- Windows10:Opencv4.0+Opencv4.0.1_contrib编译
操作系统:windows10 64bit 已安装工具:VS2017 64bit,cmake3.12bit. 安装Cmake:到cmake下载3.12及以上版本,64bit, 选择windows下的安装 ...
- 本地打jar包到本地的Maven出库
1.命令行输入 mvn install:install-file -DgroupId=jar包的groupId -DartifactId=jar包的artifactId -Dversion=jar包的 ...
- 使用泛型与不使用泛型的Map的遍历
https://www.cnblogs.com/fqfanqi/p/6187085.html
- TinyMCE:下载、安装、配置
第一步:下载 官网下载:https://www.tiny.cloud/download/ TinyMCE从4.0开始,不再支持直接下载,而是直接使用提供免费的CDN,让用户免除安装过程,可以在网站中使 ...
- day 14 内置函数二
1.昨日的补充 reversed 翻转, 将一个序列翻转,返回翻转序列的迭代器 lst = ["河南话", "四川话", "东北", ...
- Python的scrapy之爬取链家网房价信息并保存到本地
因为有在北京租房的打算,于是上网浏览了一下链家网站的房价,想将他们爬取下来,并保存到本地. 先看链家网的源码..房价信息 都保存在 ul 下的li 里面 爬虫结构: 其中封装了一个数据库处理模 ...