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

  1. Linux学习、Mongodb部署 踩到的坑学习

    一.安装Centos 7虚拟机系统 1.系统安装 下载阿里云的镜像,下载后安装,默认全程图形界面:虚拟机使用Win10自带的Hyper:碰到的坑记录下 1.在Hyper加载镜像启动的时候,提示“虚拟机 ...

  2. TODO:Linux安装PHP MongoDB驱动

    TODO:Linux安装PHP MongoDB驱动 PHP利于学习,使用广泛,主要适用于Web开发领域. MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统 ...

  3. Linux学习笔记-林耐斯Notes-Linux就该这么学

    Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...

  4. Linux~学习笔记目录索引

    回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...

  5. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  6. MongoDB和Java(1):Linux下的MongoDB安装

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  7. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  8. Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码

    在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...

  9. Linux学习笔记之兄弟连

    systemctl --user enable pulseaudio说明:安装完成后系统没有声音,用该命令可以打开.ifconfig eth0 192.168.118.1说明:给网卡设置IP地址.ap ...

随机推荐

  1. MVC身份验证Attribute简易版

    public class MemberValidationAttribute : AuthorizeAttribute { protected override bool AuthorizeCore( ...

  2. Flask—07-建立自己的博客(01)

    博客项目 一局王者的时间轻松学会用Flask建立一个属于自己的博客. 需求分析 用户注册登录 用户信息管理 博客发表回复 博客列表展示 博客分页展示 博客收藏点赞 搜索.统计.排序.… 目录结构 bl ...

  3. java web中对json的使用

    一.在Java Web的开发过程中,如果希望调用Java对象转化成JSON对象等操作.则需要引入以下jar包,不然运行时则报错. 1.commons-beanutils.jar 2.commons-c ...

  4. chromium之dynamic_annotations

    看看介绍 // This file defines dynamic annotations for use with dynamic analysis // tool such as valgrind ...

  5. Linux下安装 Redis

    一.部署前准备 1.首先上官网下载Redis 最新稳定的压缩包 2.通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压操作 [root@CentOS6 ~]# tar zxvf redis- ...

  6. NPOI读取Excel遇到的坑

    NPOI是POI的.NET版本.POI是用Java写成的库,能帮助用户在没有安装Office环境下读取Office2003-2007文件.NPOI在.NET环境下使用,能读写Excel/Word文件. ...

  7. Spring Boot 2.0 设置网站默认首页

    Spring Boot设置默认首页,方法实验OK如下 附上Application启动代码 /** * @ClassName Application * @Description Spring-Boot ...

  8. 简单json---转树形json

    var data = [ {"fileName":"navone","layFilterId":"layadmin-system- ...

  9. 第一篇:百问网ubuntu安装注意事项和部分配置

    目录 一.开启虚拟化技术 二.ubuntu部分设置 一.开启虚拟化技术 ​ 64位机,需要使用cpu-z.SecurAble软件来检查:CPU是否支持VT虚拟化技术 cpu-z使用(软件) 第一步:以 ...

  10. opencv移植(二)

    原文:https://blog.csdn.net/Guet_Kite/article/details/78667175?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接 ...