flask mongodb项目 mongodb项目实战

admin2024-06-06  28

【实验名称】: 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})

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_flask mongodb项目,第1张

select a,b from users db.users.find({}, {a:1,b:1})

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_mongodb_02,第2张

select * from users db.users.find()

(为了后面查询age:33,插入了两条数据)

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_mongodb_03,第3张

select * from users where age=33

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_mongodb_04,第4张

select a,b from users where age=33 加上限定a,b为1,其他默认0

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_flask mongodb项目_05,第5张

select * from users where age=33 order by name

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_mongodb_06,第6张

再插入几条数据

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_flask mongodb项目_07,第7张

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_nosql_08,第8张

find一下

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_nosql_09,第9张

select * from users where age>33

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_mongodb_10,第10张

select * from users where age!=33

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_nosql_11,第11张

插入几条数据

select * from users where name like “%Joe%”

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_mongodb_12,第12张

select * from users where name LIKE “Joe%”

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_mongodb_13,第13张

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_flask mongodb项目_14,第14张

select * from users where age>33 and age<=40

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_大数据_15,第15张

没有结果,gt无e代表没有等于,lte有e则是大于等于。

改为get后可以看到结果如下

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_flask mongodb项目_16,第16张

select * from users order by name desc (按名字反向排序,由于是字符串,按字典倒叙排序)

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_nosql_17,第17张

select * from users where a=1 and b=‘q’

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_大数据_18,第18张

select * from users limit 10 skip 20

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_mongodb_19,第19张

(跳过20条,选剩下的前10条)

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_大数据_20,第20张

(跳过2条,选剩下的前2条)

select * from users where a=1 or b=2

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_mongodb_21,第21张

select * from users limit 1

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_数据库_22,第22张

写法2:

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_大数据_23,第23张

select order_id from orders o, order_line_items li where li.order_id=o.order_id and li.sku=12345

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_flask mongodb项目_24,第24张

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

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_nosql_25,第25张

select distinct last_name from users

(last_name改为已有的字段name,这样就有了结果)

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_nosql_26,第26张

select count(*y)

from users

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_数据库_27,第27张

也可以看下id,然后统计id,同理,a字段也可以(加上exits限制后就不可以了,但id可以,因为所有BSON行都有id)。

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_大数据_28,第28张

select count(*y)

from users where age > 30

先看一下结果

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_nosql_29,第29张

统计

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_flask mongodb项目_30,第30张

select count(age) from users

(统计age时,下面添加了限制exist,否则和统计共有多少行BSON数据没有区别)

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_mongodb_31,第31张

create index myindexname on users(name)

创建索引

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_flask mongodb项目_32,第32张

create index myindexname ON users(name,ts desc)

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_数据库_33,第33张

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

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_大数据_34,第34张

update users set a=1 where b=‘q’

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_大数据_35,第35张

观察到未更改数据,插入一条b=’q’后更改数据,显示一条匹配,一条更改。

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_大数据_36,第36张

观察结果

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_mongodb_37,第37张

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

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_mongodb_38,第38张

db.users.remove({z:‘abc’});

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_flask mongodb项目_39,第39张

查询后无结果。

所以删除返回值为0。

插入数据后删除返回值为1。

flask mongodb项目 mongodb项目实战,flask mongodb项目 mongodb项目实战_mongodb_40,第40张


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!