一、实验目的
-
熟悉MongoDB的基本操作,包括CRUD(增加、读取、更新、删除)。
-
理解MongoDB的文档型数据库特性和Shell的使用。
-
培养学生通过命令行操作数据库的能力。
-
强化数据库操作的实际应用能力。
二、实验环境准备
-
JAVA环境准备:确保Java Development Kit (JDK) 已安装并配置好环境变量。
-
Hadoop环境准备:安装并配置Hadoop环境,确保Hadoop的各个组件可以在伪分布式模式下运行。
三、实验教材参考
《大数据存储》,谭旭,人民邮电出版社,2022,ISBN 978-7-115-59414-3。
四、实验内容与步骤
1、连接MongoDB Shell
输入命令mongod --dbpath /software/mongodb/data/db --logpath /tmp/mongodb.log --fork 启动MongoDB

输入命令mongo进入MongoDB Shell

2、创建数据库和集合
创建数据库:use mydatabase
创建集合:db.createCollection("users")

3、向集合添加新文档
在创建的集合中插入新的文档数据
db.users.insertOne({ name: "Alice", age: 30, city: "New York" })
db.users.insertOne({ name: "Bob", age: 25, city: "Los Angeles" })

insertOne版本较低,使用新版本中的命令
db.users.insert ({ name: "Alice", age: 30, city: "New York" })
db.users.insert ({ name: "Bob", age: 25, city: "Los Angeles" })

4、查询和读取文档
使用查询操作检索文档数据
查询所有文档:db.users.find()

查询name为Alice的文档:db.users.find({name:"Alice"})

5、更新现有文档
将年龄为30岁的Alice改为32岁
db.users.update({ name: "Alice" }, { $set: { age: 32 } })

6、从集合中删除文档
删除名为Bob的文档:db.users.remove({ name: "Bob" })

7、使用帮助和Shell命令
(1)显示MongoDB Shell的帮助:help

(2)显示所有数据库:show dbs

(3)显示当前数据库中的所有集合:show collections
