mongodb安装,库操作,集合操作(表),文档操作(记录)
安装
1.下载地址
https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-4.0.8-signed.msi
2.如果报没有权限的错,将配置文件的.cfg的最后一行的mp:删除
3.4.0版本已将mongodb加入了系统服务,开机自启
win+R>>>服务>>>mongodb
4.此时没有任何的权限限制,默认是管理员
5.在.cfg文件中修改
security:
authorization: enabled
# 注意缩进
6.重启服务
7.mongo >>>>show dbs(未登陆没有任何库显示)
8.登陆 use admin
db.auth("root","root")>>>>>1登陆成功后显示1
show dbs>>>登陆成功后显示所有库
库的操作
创建数据库
use 数据库名称 #如果数据库存在切换,如果不存在新建并切换
#新建的库里没有没有数据,使用show dbs是不会显示的
查看数据库
show dbs
删除数据库
db.dropDatabase()
#区分大小写
集合的操作(相当于mysql的表)
use 数据库 先切到数据库
#创建集合
db.user
#查看集合
show collections or show tables#与库相同,集合中没有数据不会显示
#删除集合:
db.blog.user.drop()
数据类型
#null:用于表示空或不存在的字段
{"x":null}
#布尔型:true 和 false
{"x":true,"y":fasle}
#数值
{"x":3,"y":3.1414}
#字符串
{"name":"egon"}
#日期
d = {"x":new Date()}
d.x.getHours()
#正则表达式/ /
d={'pattern':/^egon.*?nb$/i}
#数组
d={'x':[1,'a','v']}
#内嵌文档
user={'name':'jerry','addr':{'country':'China','city':'YT'}}
user.addr.country
#对象id:是一个12字节的ID,是文档的唯一标识,不可变
d={'x':ObjectId()}
#案例:
db.test.insert({"a":null,"b":1.1,"c":true,"d":100,"e":"aaaaaa","f":new Date(),"g":/^jerry.*nice$/i,"h":[1,2],"j":{"name":"smallJerry"}})
db.tb.find()
db.tb.find().pretty() # 格式化显示 findOne没有pretty()方法
文档操作
#没有指定_id则默认ObjectID,_id不能重复,且在插入后不可变
#插入单条
db.test.insert({"_id":1,"name":"zb","age":18})
#无则插入,有则覆盖
db.test.save()
#插入多条
db.test.insertMany([{"_id":2,"name":"egon","age":28},{"_id":3,"name":"yhh","age":38}])
查询数据
#cmd清屏 cls
#find
查询所有匹配数据
#findOne
查找第一个匹配的
比较运算
use db
db.表名.find(条件)
比较运算
#等于
= >>>> {"name":"zb"}
db.test.find({"name":"zb"})
#不等于
!= >>>>{"name":{"$ne":"zb"}}
db.test.find({"name":{"$ne":"zb"}})
#大于
> >>>>{"_id":{"$gt":1}}
db.test.find({"_id":{"$gt":1}})
#大于等于
>= >>>>{"_id":{"$gte":1}}
db.test.find({"_id":{"$gte":1}})
#小于
< >>>>{"_id":{"$lt":3}}
db.test.find({"_id":{"$lt":3}})
#小于等于
<= >>>>{"_id":{"lte":3}}
db.test.find({"_id":{"$lte":3}})
逻辑运算
#and 逗号分隔,多个条件就是and
db.test.find({"_id":{"$lt":3,"$gt":1}})
db.test.find({"_id":{"$lte":3,"$gt":1},"name":"egon"})
#or
db.test.find({"$or":[{'_id':{"$gte":3}},{"name":"zb"}]})
#偶数 mod
db.test.find({'_id':{"$mod":[2,1]}})#[2,1]>>除2余1
#not
db.test.find({'_id':{"$not":{"$mod":[2,1]}}})
成员运算
#in
db.test.find({"_id":{"$in":[1,3]}})
#not in
db.test.find({"_id":{"$nin":[1,3]}})
正则表达式
db.test.find({"name":/.*?z.*?/})
正则写在//内,后面的i代表:
i 忽略大小写
m 多行匹配模式
x 忽略非转义的空白字符
s 单行匹配模式
指定字段
#db.user.finde({过滤条件},{显示字段})
db.test.find({'_id':3},{'_id':0,'name':1})
0表示不显示 默认为0 1为显示 "_id"默认为1
查询数组
#准备数据
use test1
db.user
user1 = {"_id":1,"name":"egon","hobbies":["play","girl","music","run"]}
user2 = {"_id":2,"name":"alex","hobbies":["swim","girl","drink","tea"]}
user3 = {"_id":3,"name":"yhh","hobbies":["girl","tea","fight","run"]}
user4 = {"_id":4,"name":"aaa","hobbies":["run","girl","chicken","ball"]}
db.user.insert(user1)
db.user.insert(user2)
db.user.insert(user3)
db.user.insert(user4)
#查询
#查询爱好有girl的人
db.user.find({'hobbies':'girl'})
#查询爱好girl和drink的人
db.user.find({"hobbies":{"$all":["girl","drink"]}})
#查询第4个爱好为tea的人
db.user.find({"hobbies.3":"tea"})
#查询所有人最后两个爱好
db.user.find({},{'hobbies':{"$slice":-2}})
#查询所有人的第2个到第3个爱好
db.user.find({},{"hobbies":{"$slice":[1,2]}})
其他
# 排序:1代表升序,-1代表降序
db.user.find().sort({"_id":-1})
db.user.find().sort({"name":-1,'_id':-1})
#分页:limit代表取多少个document,skip代表跳过前几个document
db.user.find({'hobbies':'girl'}).limit(1).skip(2)
#获取数量
db.user.count({'hobbies':'girl'})
db.user.find({'hobbies':'girl'}).count()
#{'key':null} 匹配key的值为null或者没有这个key
#准备数据
db.t2.insert({'a':10,'b':111})
db.t2.insert({'a':20})
db.t2.insert({'b':null})
#查询结果
> db.t2.find({"b":null})
{ "_id" : ObjectId("5a5cc2a7c1b4645aad959e5a"), "a" : 20 }
{ "_id" : ObjectId("5a5cc2a8c1b4645aad959e5b"), "b" : null }
mongodb安装,库操作,集合操作(表),文档操作(记录)的更多相关文章
- MongoDB学习(操作集合中的文档)
文档概念 文档的数据结构和JSON基本一样. 所有存储在集合中的数据都是BSON格式. BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON. 插入文档 insert()方法 ...
- python全栈开发day48-jqurey自定义动画,jQuery属性操作,jQuery的文档操作,jQuery中的ajax
一.昨日内容回顾 1.jQuery初识 1).使用jQuery而非JS的六大理由 2).jQuery对象和js对象转换 3).jQuery的两大特点 4).jQuery的入口函数三大写法 5).jQu ...
- HTML jQuery 文档操作 - html() 方法
jQuery 文档操作 - html() 方法 jQuery 文档操作参考手册 实例 设置所有 p 元素的内容: $(".btn1").click(function(){ $(&q ...
- MongoDB系列---集合与文档操作03
MongoDB-——Collection 学习大纲: 1.集合操作 2.文档操作 知识回顾: 上一篇我们讲述了如何对MongoDB的权限和用户进行日常的基本操作,来达到我们对数据库的基本安全保障. 一 ...
- MongoDB 集合与文档操作
一.创建DB 1.查看DB >show dbs 2.创建DB >use mydb 3.查看当前DB >db 4.删除DB >use mydb >db.dropDataba ...
- MongoDB入门---文档操作之增删改
之前的两篇文章,已经分享过关于MongoDB的集合还有数据库的各种操作,接下来就涉及到最主要的喽,那就是数据方面的操作,在这里叫做文档操作.话不多说,大家来看正文. 首先来看一下它的数据结构: ...
- MongoDB (八) MongoDB 文档操作
一. MongoDB 插入文档 insert() 方法 要插入数据到 MongoDB 集合,需要使用 MongoDB 的 insert() 或 save() 方法. 语法 insert() 命令的基 ...
- mongodb学习之:文档操作
在上一章中有讲到文档的插入操作是用insert的方法.如果该集合不在该数据库中,mongodb会自动创建该集合并插入文档 用find的方法可以查找所有的集合数据 > db.maple.find( ...
- MongoDB学习笔记——文档操作之增删改
插入文档 使用db.COLLECTION_NAME.insert() 或 db.COLLECTION_NAME.save() 方法向集合中插入文档 db.users.insert( { user_id ...
随机推荐
- MapReduce 二次排序
默认情况下,Map 输出的结果会对 Key 进行默认的排序,但是有时候需要对 Key 排序的同时再对 Value 进行排序,这时候就要用到二次排序了.下面让我们来介绍一下什么是二次排序. 二次排序原理 ...
- Storm概念学习系列之storm的设计思想
不多说,直接上干货! storm的设计思想 在 Storm 中也有对流(Stream)的抽象,流是一个不间断的.无界的连续 Tuple(Storm在建模事件流时,把流中的事件抽象为 Tuple 即元组 ...
- 【JavaEE】tomcat部署项目的几种方式 .
一.静态部署1.直接将web项目文件件拷贝到webapps 目录中 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用.所以可以将JSP程 ...
- Oracle快速插入数据append
1:用merge into 进行匹配更新和插入,2: 开启并行,提高速度3: 如果可以的话加NOLOGING 不写入日志4:如果数据有规律的话,分批次执行 1.使用marge快速插入; MERGE / ...
- Java基础重点指南
Java基础重点指南 每个人都有自己的学习方法,下面是我学完Java后总结的一些要点: 一:(了解)Java诞生于1995年,由Sun公司开发.它把源代码编译成“中间码”,然后通过“Java虚拟机”把 ...
- [Environment Build] 工作中遇到的关于Git的问题
修改已经提交的commit中的author, commit git commit --amend --author 'Your Name <Your Email>' git commit ...
- React:关于在delegate中的confirm或者alert在多次弹出
如何试验出是delegate的过程就不解说了 直接上解决方案:(当然我的解决方案只适合一定情况) 取比较简单的代码来解说,例如 我一开始使用delegate的原因是由于我有部分html页面是ajax中 ...
- python之其他模块的用法
1.时间模块 在Python中通常有三种表示时间的方式,分别是时间戳.元组.格式化的时间字符串. 时间模块的常用方法 time.sleep() #指定延迟时间 time.time() #当前时间的 ...
- new Date(str)返回的时间结果在移动端比PC端快了8小时
最近开发过程中,后端传过来一个“2018-03-15T17:53:19.6307928”字符串,需要将字符串转换成“2018-03-15 17:53”的格式展示出来.首先我使用了var time=n ...
- [转]latex输入数学符号速查
基本运算 乘法 x×y x \times y 乘方 23x 2^{3x} 平方根 x+y−−−−−√ \sqrt {x + y} 除法 x÷y x \div y 分数 xy \frac{x}{y} 异 ...