mongodb 入门必备实操(一)
安装太容易了,百度一大把,这里就不做详细介绍了,直接开始正题。
安装完成别忘了设置bin路径的环境变量
cmd中输入mongo即可登录mongodb
mongodb创建数据库
show dbs --显示全部数据库
db --查看当前数据库(mongodb默认存储在test数据库中)
use xxx数据库名 --如果没有则会新建一个数据库
如果不往里添加数据,show dbs是看不到这个数据库的
要显示它,我们需要向这个新建的数据库插入一些数据
db.xxxx数据库名.insert({“xx”:“xxxx”}) --数据的插入
mongodb删除数据库
切换到要删除的数据库
use xxx数据库名
db.dropDatabase() --删除数据库命令
最后通过show dbs 命令查看数据库是否删除成功
删除集合
db.表名.drop()
创建runoob数据库
创建集合(类似mysql数据库中的表)
db.createCollection(‘集合’) --创建集合命令
show tables 查看所有集合 (show collections 命令会更加准确点)
db.集合名.drop() --删除集合命令
再查看一下集合,果真没有了
mongodb 创建集合
在runoob 数据库中创建集合
df.createCollection(‘mycol’,{capped:true,autoIndexId:true,size:6142800,max:10000})
capped 布尔类型 (可选) 如果为true,则创建固定集合。固定集合是指有着固定大小的集合,当达 _____到最大值时,它会自动覆盖最早的文档。当该值为true时,必须指定size参数。
autoIndexId 布尔类型(可选) (3.2之后不在支持该参数) 如为true,自动在_id字段创建索引,默认为false。
size 数值类型 (可选) 为固定剂和指定一个最大值,即字节数。 如果capped为true,也需要指定该字段
max 数值类型(可选) 指定固定集合中包含文档的最大数量
再插入文档时,MongoDB 首先检查固定集合的size字段,然后检查max字段。
在mongodb中,你不需要创建集合。当你插入一些文档时,mongodb会自动创建集合
这个集合名会和数据库名称一致
mongodb 删除集合
db.xxx集合名.drop() ----删除集合命令
可以看出已经删除成功
mongodb插入文档
db.col.insert({title:‘mongodb教程’,description:‘mongodb是一个nosql数据库’,by:‘菜鸟教程’,url:‘http://www.runoob.com’,tags:[‘mongodb’,‘database’,‘NoSQL’],likes:100})
将文档存储在mongodb的runoob数据库的col集合中
查看已经插入的文档 用find
db.集合名.find()
我们也可以将数据定义为一个变量
document=({title:‘mongodb教程’,description:‘mongodb是一个nosql数据库’,by:‘菜鸟’,url:‘http://www.runoob.com’,tags:[‘mongodb’,‘database’,‘nosql’],likes:100});
执行后显示结果如上
之后就可以用这个变量执行插入操作
db.col.insert(document)
mongodb更新文档
db.集合名.update({‘title’:‘mongodb教程’},{$set:{‘title’:‘MongoDB’}})
可以看到已经更新成功了
单他只会修改第一条发现的文档,如果你要删除多条相同的文档,则需要设置multi参数为true
可以看到有两条修改 成功了
save方法通过传入的文档来替换已有文档,_id主键存在就更新,不存在就插入
替换成功后,可以通过find()命令查看是否替换/插入成功 数据
更多案例:
mongodb删除文档
db.集合名.remove({条件}) --删除集合xxx中符合条件的文档
可以看到删除成功,删除了一行
mongodb查询文档
db.集合名.find() --标准查询数据的命令
db.集合名.find().pretty() --查询数据并用更易读的方式展示出来
查看col集合中by值是菜鸟的文档:
查看col集合中likes值中大于或等于100的文档:
大于 greater than gt
小于 less than lt
等于 equal
大于等于 gte
小于等于 lte
不等于 ne
等于 就常规的key:value
mysql中的and条件,到mongodb中可以直接在多个条件之间加,连接即可
mysql中的or条件 ,在mongodb条件中使用了关键字$or
$or:[{},{}] 加中括号,中间的条件用逗号隔开
and和or的联合使用
当出现大于100小于120的情况时:
不能这样写:
db.col.find({'likes':{$gt:100},'likes':{$lt:120}})
应该这么写:
db.col.find({'likes':{$ gt:100,$ lt:120}})
mongodb条件操作符
先插入三条数据:
>db.col.insert({
title: 'PHP 教程',
description: 'PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: ['php'],
likes: 200
})
>db.col.insert({title: 'Java 教程',
description: 'Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: ['java'],
likes: 150
})
>db.col.insert({title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: ['mongodb'],
likes: 100
})
查询col集合中likes值大于100的文档:
查询col集合中likes值大于等于100的文档:
查询col集合中likes值小于等于100的文档:
查询col集合中likes值大于100小于200的文档:
今天先这样,明天继续更新:)
下一篇: 实操