目录
4. 根据你查询出来的记录的结构,使用你自己的数据,构造一个文档,并将这个文档写入students集合
5. 根据你自己的记录数据,查询比你长得高或者和你一样高的学生记录
6. 根据你自己的记录数据,查询体重和你相差不超过3kg的学生记录
9. 将你所在班级的所有同学标记为同班同学(增加一个新字段:{'关系':'同班同学'})
要求:
- 服务器地址: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连接,像这样

通过外部文件查询导入,然后运行就行了,这里不演示了,不懂再问吧
- //选择当前数据库
- use cqust;
- //查看当前数据库包含的集合
- show tables;
- //查询集合中的一条数据
- db.students.findOne();


将内容复制过去,改一下就行了
- //构建我的数据
- 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);

插入成功
- //查询比我长得高的或一样高的学生记录
- var query={"body.height":{$gte:170}};//查询条件
- var projection={};//返回条件
- db.students.find(query,projection);


- //查询体重和我相差不超过3kg的学生记录
- var query={$and:[{"body.weight":{$lte:53}},{"body.weight":{$gte:47}}]}//查询条件
- var projection={}//返回条件
- db.students.find(query,projection)

- //统计我所在专业的人数
- var query={"major":"大数据"}//查询条件
- db.students.count(query)

- //列出大数据所有专业课程的名称
- var query={"major":"大数据"}
- db.students.distinct("courses.course",query)

- //将你所在班级的所有同学标记为同班同学(增加一个新字段:{'关系':'同班同学'})
- var document={"关系":"同班同学"}
- var query={$and:[{"class":2},{"grade":2020},{"major":"大数据"}]}
- db.students.aggregate( [
- {$match:query},//查询条件
- {$set:document},//字段更新
- {$match:query}//查询条件
- ] )

- //找到你班上身高最高的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的安装(有时间的话),有问题的可以私信,因为自己所做,有些地方可能有错误,还请大家斧正,同样收到问题会实时更新的,最后求个赞。