分布式数据库Mongodb——实验一
要求:- 服务器地址:localhost(127.0.0.1)- 服务端口:27027- 存储目录命名:你的姓名拼音首字母(比如:tgy)- 日志文件:放在存储目录下,以mongod.log命名然后去你的navicat里面创建一个mongodb连接,像这样。
·
目录
4. 根据你查询出来的记录的结构,使用你自己的数据,构造一个文档,并将这个文档写入students集合
5. 根据你自己的记录数据,查询比你长得高或者和你一样高的学生记录
6. 根据你自己的记录数据,查询体重和你相差不超过3kg的学生记录
9. 将你所在班级的所有同学标记为同班同学(增加一个新字段:{'关系':'同班同学'})
1.创建MongoDB数据库实验环境
要求:
- 服务器地址:localhost(127.0.0.1)
- 服务端口:27027
- 存储目录命名:你的姓名拼音首字母(比如:tgy)
- 日志文件:放在存储目录下,以mongod.log命名
记得去添加环境变量,添加完再继续往下
创建配置文件如下
storage:
dbPath: D:\MongoDB\(名字缩写)\db#dbpath路径
journal:
enabled: true
engine: mmapv1
systemLog:
destination: file
logAppend: true
path: D:\MongoDB\(名字缩写)\mongod.log#log日志路径
net:
port: 27027#端口号
bindIp: 127.0.0.1
maxIncomingConnections: 10000
然后打开你的cmd,输入以下命令使其生效
mongod --config=(这个配置文件的路径)
启动,在你的cmd里面输入
mongod --dbpath=D:\MongoDB\(你的名字缩写)\db --port=27027
然后去你的navicat里面创建一个mongodb连接,像这样
2.使用MongoShell脚本导入数据
通过外部文件查询导入,然后运行就行了,这里不演示了,不懂再问吧
3. 查询students集合,只返回一条数据
//选择当前数据库
use cqust;
//查看当前数据库包含的集合
show tables;
//查询集合中的一条数据
db.students.findOne();
4. 根据你查询出来的记录的结构,使用你自己的数据,构造一个文档,并将这个文档写入students集合
将内容复制过去,改一下就行了
//构建我的数据
var mydata={
"sno": 20205201314,
"name": "中意",
"gender": 1,
"body": {
"height": 170,
"weight": 50
},
"list": [
4,
5,
4
],
"phone": "19112404983",
"role": "student",
"major": "大数据",
"grade": 2020,
"class": 2,
"courses": [
{
"course": "结构化数据存储与应用",
"credit": 2,
"score": 61
}
]
};
//将我的数据插入students这个集合
db.students.insertOne(mydata);
插入成功
5. 根据你自己的记录数据,查询比你长得高或者和你一样高的学生记录
//查询比我长得高的或一样高的学生记录
var query={"body.height":{$gte:170}};//查询条件
var projection={};//返回条件
db.students.find(query,projection);
6. 根据你自己的记录数据,查询体重和你相差不超过3kg的学生记录
//查询体重和我相差不超过3kg的学生记录
var query={$and:[{"body.weight":{$lte:53}},{"body.weight":{$gte:47}}]}//查询条件
var projection={}//返回条件
db.students.find(query,projection)
7. 统计你所在专业的学生人数
//统计我所在专业的人数
var query={"major":"大数据"}//查询条件
db.students.count(query)
8. 列出大数据专业所有课程的名称
//列出大数据所有专业课程的名称
var query={"major":"大数据"}
db.students.distinct("courses.course",query)
9. 将你所在班级的所有同学标记为同班同学(增加一个新字段:{'关系':'同班同学'})
//将你所在班级的所有同学标记为同班同学(增加一个新字段:{'关系':'同班同学'})
var document={"关系":"同班同学"}
var query={$and:[{"class":2},{"grade":2020},{"major":"大数据"}]}
db.students.aggregate( [
{$match:query},//查询条件
{$set:document},//字段更新
{$match:query}//查询条件
] )
10. 找到你班上身高最高的3名同学,并删除这些记录
//找到你班上身高最高的3名同学,并删除这些记录
var query={$and:[{"class":2},{"grade":2020},{"major":"大数据"}]}
//db.students.aggregate({$match:query},
//{$sort:{"body.height":-1}})
data=db.students.aggregate({$match:query},
{$sort:{"body.height":-1}},//按照指定字段排序
{$limit:3},//只要前三个
{$project:{_id:1}}//取唯一标识_id(son也行)
).toArray()//转换为数组
db.students.deleteMany({$or:data})
//db.students.aggregate({$match:query},
//{$sort:{"body.height":-1}})
删除前
删除成功
删除后
后面可能会更新mongodb的安装(有时间的话),有问题的可以私信,因为自己所做,有些地方可能有错误,还请大家斧正,同样收到问题会实时更新的,最后求个赞。
更多推荐
已为社区贡献4条内容
所有评论(0)