欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mongodb 入门必备实操(一)

程序员文章站 2022-04-10 23:33:43
...

安装太容易了,百度一大把,这里就不做详细介绍了,直接开始正题。
安装完成别忘了设置bin路径的环境变量

cmd中输入mongo即可登录mongodb
mongodb 入门必备实操(一)

mongodb创建数据库

show dbs --显示全部数据库

db --查看当前数据库(mongodb默认存储在test数据库中)

use xxx数据库名 --如果没有则会新建一个数据库

如果不往里添加数据,show dbs是看不到这个数据库的

mongodb 入门必备实操(一)

要显示它,我们需要向这个新建的数据库插入一些数据

db.xxxx数据库名.insert({“xx”:“xxxx”}) --数据的插入
mongodb 入门必备实操(一)

mongodb删除数据库

切换到要删除的数据库

use xxx数据库名
mongodb 入门必备实操(一)

db.dropDatabase() --删除数据库命令

mongodb 入门必备实操(一)

最后通过show dbs 命令查看数据库是否删除成功
mongodb 入门必备实操(一)

删除集合

db.表名.drop()

创建runoob数据库

mongodb 入门必备实操(一)

创建集合(类似mysql数据库中的表)

db.createCollection(‘集合’) --创建集合命令

mongodb 入门必备实操(一)

show tables 查看所有集合 (show collections 命令会更加准确点)

mongodb 入门必备实操(一)

db.集合名.drop() --删除集合命令

mongodb 入门必备实操(一)

再查看一下集合,果真没有了
mongodb 入门必备实操(一)

mongodb 创建集合

在runoob 数据库中创建集合

df.createCollection(‘mycol’,{capped:true,autoIndexId:true,size:6142800,max:10000})

mongodb 入门必备实操(一)

capped 布尔类型 (可选) 如果为true,则创建固定集合。固定集合是指有着固定大小的集合,当达 _____到最大值时,它会自动覆盖最早的文档。当该值为true时,必须指定size参数。

autoIndexId 布尔类型(可选) (3.2之后不在支持该参数) 如为true,自动在_id字段创建索引,默认为false。

size 数值类型 (可选) 为固定剂和指定一个最大值,即字节数。 如果capped为true,也需要指定该字段

max 数值类型(可选) 指定固定集合中包含文档的最大数量

再插入文档时,MongoDB 首先检查固定集合的size字段,然后检查max字段。

在mongodb中,你不需要创建集合。当你插入一些文档时,mongodb会自动创建集合
mongodb 入门必备实操(一)

这个集合名会和数据库名称一致

mongodb 删除集合

db.xxx集合名.drop() ----删除集合命令

mongodb 入门必备实操(一)

可以看出已经删除成功

mongodb插入文档

db.col.insert({title:‘mongodb教程’,description:‘mongodb是一个nosql数据库’,by:‘菜鸟教程’,url:‘http://www.runoob.com’,tags:[‘mongodb’,‘database’,‘NoSQL’],likes:100})

将文档存储在mongodb的runoob数据库的col集合中

mongodb 入门必备实操(一)

查看已经插入的文档 用find

db.集合名.find()

mongodb 入门必备实操(一)

我们也可以将数据定义为一个变量

document=({title:‘mongodb教程’,description:‘mongodb是一个nosql数据库’,by:‘菜鸟’,url:‘http://www.runoob.com’,tags:[‘mongodb’,‘database’,‘nosql’],likes:100});
mongodb 入门必备实操(一)

执行后显示结果如上

之后就可以用这个变量执行插入操作

db.col.insert(document)

mongodb 入门必备实操(一)

mongodb更新文档

db.集合名.update({‘title’:‘mongodb教程’},{$set:{‘title’:‘MongoDB’}})
mongodb 入门必备实操(一)

可以看到已经更新成功了

单他只会修改第一条发现的文档,如果你要删除多条相同的文档,则需要设置multi参数为true

mongodb 入门必备实操(一)

可以看到有两条修改 成功了

save方法通过传入的文档来替换已有文档,_id主键存在就更新,不存在就插入

mongodb 入门必备实操(一)

替换成功后,可以通过find()命令查看是否替换/插入成功 数据

mongodb 入门必备实操(一)

更多案例:

mongodb 入门必备实操(一)

mongodb删除文档

db.集合名.remove({条件}) --删除集合xxx中符合条件的文档
mongodb 入门必备实操(一)

可以看到删除成功,删除了一行

mongodb查询文档

db.集合名.find() --标准查询数据的命令

db.集合名.find().pretty() --查询数据并用更易读的方式展示出来

查看col集合中by值是菜鸟的文档:
mongodb 入门必备实操(一)

查看col集合中likes值中大于或等于100的文档:

mongodb 入门必备实操(一)

大于 greater than gt

小于 less than lt

等于 equal

大于等于 gte

小于等于 lte

不等于 ne

等于 就常规的key:value
mongodb 入门必备实操(一)

mysql中的and条件,到mongodb中可以直接在多个条件之间加,连接即可

mongodb 入门必备实操(一)

mysql中的or条件 ,在mongodb条件中使用了关键字$or

$or:[{},{}] 加中括号,中间的条件用逗号隔开

mongodb 入门必备实操(一)

and和or的联合使用

mongodb 入门必备实操(一)

当出现大于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
})

mongodb 入门必备实操(一)

查询col集合中likes值大于100的文档:
mongodb 入门必备实操(一)

查询col集合中likes值大于等于100的文档:

mongodb 入门必备实操(一)

查询col集合中likes值小于等于100的文档:

mongodb 入门必备实操(一)

查询col集合中likes值大于100小于200的文档:

mongodb 入门必备实操(一)

今天先这样,明天继续更新:)

相关标签: mongodb