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 ...
随机推荐
- java中io创建文件和读取文件
简单了解IO流:https://www.cnblogs.com/weibanggang/p/10034325.html package com.wbg.iodemo1128; import java. ...
- java线程安全单例
public class MySingleton { // 使用volatile关键字保其可见性 volatile private static MySingleton instance = null ...
- ffmpeg 简单使用总结
FFMPEG 生成指定长度的空白音频: ffmpeg -f lavfi -i aevalsrc=0 -t seconds -q:a 9 -acodec libmp3lame out.mp3 FFMPE ...
- Oracle特性总结
最近开发项目使用了Oracle,根据总体架构一开始选择使用Mybatis,发现核心模块用Mybatis效率不够,切换到jdbc实现,效率大增.Oracle可是个庞然大物,特性多多,丝毫不能马虎,否则很 ...
- 20181.5IDEAx64位授权码
转载于:https://blog.csdn.net/q258523454/article/details/79775092 2DZ8RPRSBU-eyJsaWNlbnNlSWQiOiIyRFo4UlB ...
- Redis(六):Redis的事务
Redis的事务目录导航: 是什么 能干嘛 怎么玩 3阶段 3特性 是什么 可以一次执行多个命令,本质是一组命令的集合.一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞 ...
- mysql8.0新增用户及密码加密规则修改
MySQL8.0已经发布GA版,当前最新GA版本为8.0.12.虽然相对于之前版本,MySQL8.0没有加入新元素,但是,经过代码重构,MySQL8.0的优化器更加强大,同时也有一些新特性,如支持索引 ...
- Spring初始化机制
一.main的运行入口 ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("spring.xml ...
- notpad++ 搭配 gcc
notpad++ 搭配 gcc GCC 是 GNU 编译器套装的简称(GNU Compiler Collection),一套编程语言编译器,以 GPL 及 LGPL 许可证所发行的自由软件,也是 GN ...
- python matplotlibmat 包mplot3d工具 三维视图透视取消
https://stackoverflow.com/questions/23840756/how-to-disable-perspective-in-mplot3d 简单的解决方法是 ax = fig ...