MongoDB安装与常用数据操作操作练习

【实验名称】: MongoDB安装与常用数据操作操作练习
【实验目的】:
1.掌握虚拟机上安装MongoDB。
2.熟悉MongoDB的数据库基本操作。
3.熟悉Java API 连接mongodb进行数据操作
【实验内容及要求】:
1.虚拟机Ubuntu的安装hive。
2.在虚拟机上安装mongodb 。

3.Mongodb Java API
4.常用mongodb 操作
(一)mongodb安装和基本操作及javaAPI练习:

参考内容:http://dblab.xmu.edu.cn/blog/mongodb/
建议采用离线安装方式,安装程序和jdbc驱动在教学平台/资源目录下

注意将ubuntu的更新源改为163.com
启动

查看端口与进程

(二)基本操作练习
创建一个user 数据集,有字段a,b,name,age
将以下的sql语句转换为mongodb的数据查询操作
inert into users value(3,5) db.users.insert({a:3,b:5})
在这里插入图片描述

select a,b from users db.users.find({}, {a:1,b:1})
在这里插入图片描述

select * from users db.users.find()
(为了后面查询age:33,插入了两条数据)
在这里插入图片描述

select * from users where age=33
在这里插入图片描述

select a,b from users where age=33 加上限定a,b为1,其他默认0
在这里插入图片描述

select * from users where age=33 order by name
在这里插入图片描述

再插入几条数据
在这里插入图片描述
在这里插入图片描述

find一下
在这里插入图片描述

select * from users where age>33
在这里插入图片描述

select * from users where age!=33
在这里插入图片描述

插入几条数据
select * from users where name like “%Joe%”
在这里插入图片描述

select * from users where name LIKE “Joe%”
在这里插入图片描述
在这里插入图片描述

select * from users where age>33 and age<=40
在这里插入图片描述

没有结果,gt无e代表没有等于,lte有e则是大于等于。
改为get后可以看到结果如下
在这里插入图片描述

select * from users order by name desc (按名字反向排序,由于是字符串,按字典倒叙排序)
在这里插入图片描述

select * from users where a=1 and b=‘q’
在这里插入图片描述

select * from users limit 10 skip 20
在这里插入图片描述

(跳过20条,选剩下的前10条)
在这里插入图片描述

(跳过2条,选剩下的前2条)
select * from users where a=1 or b=2
在这里插入图片描述

select * from users limit 1
在这里插入图片描述

写法2:
在这里插入图片描述

select order_id from orders o, order_line_items li where li.order_id=o.order_id and li.sku=12345
在这里插入图片描述

select customer.name from customers,orders where orders.id=“q179” and orders.custid=customer.id

在这里插入图片描述

select distinct last_name from users
(last_name改为已有的字段name,这样就有了结果)
在这里插入图片描述

select count(*y)
from users
在这里插入图片描述

也可以看下id,然后统计id,同理,a字段也可以(加上exits限制后就不可以了,但id可以,因为所有BSON行都有id)。
在这里插入图片描述

select count(*y)
from users where age > 30
先看一下结果
在这里插入图片描述

统计
在这里插入图片描述

select count(age) from users
(统计age时,下面添加了限制exist,否则和统计共有多少行BSON数据没有区别)
在这里插入图片描述

create index myindexname on users(name)
创建索引
在这里插入图片描述

create index myindexname ON users(name,ts desc)
在这里插入图片描述

explain select * from users where z=3
.explain()查看信息,索引和统计等

在这里插入图片描述

update users set a=1 where b=‘q’
在这里插入图片描述

观察到未更改数据,插入一条b=’q’后更改数据,显示一条匹配,一条更改。
在这里插入图片描述

观察结果
在这里插入图片描述

update users set a=a+2 where b=‘q’

在这里插入图片描述

db.users.remove({z:‘abc’});
在这里插入图片描述

查询后无结果。
所以删除返回值为0。
插入数据后删除返回值为1。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_45311187/article/details/121324799