实验楼-挑战:管理员工的基本信息

时间:2022-03-04 08:37:20

管理员工的基本信息
介绍
某公司随着员工人数的增加,现需要开发一个系统用于管理员工的基本信息,请你根据给出的要求帮他们设计并实现该系统的数据库。

公司员工的信息如下:
实验楼-挑战:管理员工的基本信息

注意服务器中的 MongoDB 服务还没有启动,以 mongo 命令直接进入 MongoDB shell 。

目标

  1. MongoDB 服务处于运行状态
  2. 新建的数据库名称为 shiyanlou
  3. 在 shiyanlou 中新建集合 employee ,用于存储员工的基本信息
  4. 将上述表中的信息插入到集合 employee 中,包括: sid,sname,age,gender,phone,address,其中
    address 以嵌入式关系进行存储,包括 city,district
  5. 员工 Tom 的电话换成了 18200753159,家从 jinniu 区 搬到了 chenghua 区,更新 Tom 的信息
  6. 在列工号(sid)和姓名(sname)上建立索引,加快查询速度
  7. 将年龄(age)大于等于30岁的员工信息导入到 /tmp/employee.json 中

提示
工号为数值型
更新子文档信息
目标 7 属于超纲知识点,涉及 mongoexport,需要查询其他资料

首先运行mongodb
实验楼-挑战:管理员工的基本信息
构建数据库和集合

use shiyanlou
db.createCollection("employee")

修改员工Tom的信息

db.employee.update({'sname':'Tom'},{$set:{'phone':18200753159}}) db.employee.update({'sname':'Tom'},{$set:{'address.district':'chenghua'}})

建立索引

db.users.ensureIndex({sid:1,sname:1})

导出到json
退出mongodb,运行

sudo mongoexport -db shiyanlou -collection employee -q '{age:{$gte:30}}' --out /tmp/employee.json

实验楼-挑战:管理员工的基本信息