BFU/BJFU NoSQL实验一

  • 实验目的
  1. 掌握MongoDB数据库的基本概念、掌握MongoDB创建、删除、查询数据库等。
  2. 掌握MongoDB插入文档、创建和删除集合等。
  3. 掌握MongoDB查询、修改、删除文档等。
  4. Java 连接MongoDB数据库的基本操作。
  • 实验内容和结果   不同题目之间空一格
  1. 执行mongo命令进入mongodb shell(注意这里mongod的服务已经启动)
  2. 创建数据库Employee,并查询当前的数据库。如果不存在,则通过语句db.comment.insert({“Course”:”NoSQL”})插入数据并验证数据库。
  3. 删除数据库Employee,并进行查询证明已经删除。
use Employee
show dbs
db.comment.insert({“Course”:”NoSQL”})

db.dropDatabase()
show dbs
  1. 创建数据库test, 并在test中创建集合student。
  2. 查看当前数据库的集合,如果不存在,则插入任意一条记录验证集合。
  3. 删除集合student。
use test
db.createCollection(“student”)
show collections

db.createCollection(“luochuanwen”)
db.createCollection(“NoSQL”)
show collections

db.student.drop()
  1. 创建将帅录数据库marshal_general_record。
  2. 插入单条数据:在集合marshal中隐式插入数据 (name:"朱德",birth:"1886",hometown:"四川省仪陇县"),然后查询相应的结果。
  3. 插入批量数据marshal中插入以下数据(如果大家感兴趣可以添加元帅们相关的其它信息):

(name:"朱德",birth:"1886", dieage:91, hometown:"四川省仪陇县")

(name:"彭德怀",birth:"1898", dieage:77, hometown:"湖南省湘潭县")

(name:"林彪",birth:"1907", dieage:64, hometown:"湖北黄冈")

 (name:"刘伯承",birth:"1892", dieage:95, hometown:"四川省开县")

 (name:"贺龙",birth:"1896",  dieage:74, hometown:"湖南省桑植")

 (name:"陈毅",birth:"1901", dieage:72, hometown:"四川乐至")

 (name:"罗荣桓",birth:"1902",  dieage:62, hometown:"湖南省衡山")

      (name:"徐向前",birth:"1901",  dieage:90, hometown:"山西省五台县")

(name:"聂荣臻",birth:"1899", dieage:94, hometown:"重庆市江津区")

(name:"叶剑英",birth:"1897",  dieage:90, hometown:"广东省梅县")

use marshal_general_record

db.marshal_general_record.insert({name:"朱德",birth:"1886",hometown:"四川省仪陇县"})

db.marshal.insertMany([{name:"朱德",birth:"1886", dieage:91, hometown:"四川省仪陇县", gender:”male”},{name:"彭德怀",birth:"1898", dieage:77, hometown:"湖南省湘潭县",gender:”male”},{name:"林彪",birth:"1907", dieage:64, hometown:"湖北黄冈",gender:”male”},{name:"刘伯承",birth:"1892", dieage:95, hometown:"四川省开县"},{name:"贺龙",birth:"1896",  dieage:74, hometown:"湖南省桑植"},{name:"陈毅",birth:"1901", dieage:72, hometown:"四川乐至"},{name:"罗荣桓",birth:"1902",  dieage:62, hometown:"湖南省衡山"},{name:"徐向前",birth:"1901",  dieage:90, hometown:"山西省五台县"},{name:"聂荣臻",birth:"1899", dieage:94, hometown:"重庆市江津区"},{name:"叶剑英",birth:"1897",  dieage:90, hometown:"广东省梅县"}])
  1. 为了完成后面的操作,创建数据库Condor_Heroes, 然后先往集合heros中插入以下数据,便于后面的查询的操作:

{"name" : "郭靖", "hometown" : "蒙古", "age" : 20, "gender" :  "male" },

{"name" : "黄蓉", "hometown" : "桃花岛", "age" : 18, "gender" : "female" },

{"name" : "华筝", "hometown" : "蒙古", "age" : 21, "gender" :  "female" },

{"name" : "黄药师", "hometown" : "桃花岛", "age" : 40, "gender" : "male"},

{"name" : "欧阳克", "hometown" : "白驼山", "age" : 17, "gender" : "male"},

{"name" : "段王爷", "hometown" : "大理", "age" : 45, "gender" : "male"},

{"name" : "段誉", "hometown" : "大理", "age" : 80, "gender" : "male"},

{"name" : "洪七公", "hometown" : "中原", "age" : 50, "gender" : "male" }

{"name" : "洪七公", "hometown" : "中原", "age" : 50, "gender" : "male" }

  1. 使用find()函数查询heros集合中所有的数据,并使用pretty()返回数据查询的结果。
  2. 使用findOne()函数查询heros集合中第一条数据,这里findOne():查询数据,只返回第一个。
  3. 查找集合heros中年龄等于18的数据。
  4. 查询集合heros中年龄大于等于20的数据。
  5. 查询集合heros中年龄小于等于20并且gender等于female的数据。
  6. 查询集合heros中年龄大于等于40或者gender等于female的数据。
  7. 用in关键字查询集合heros中年龄为18, 20, 50的数据。
  8. 查询集合heros中name以'黄'开头的数据。
  9. 查询集合heros中hometown中含有'古'字的数据。
  10. 用于对查询结果按照指定的字段进行排序。
  11. 查询集合heros中的数据,并根据性别降序,再根据年龄升序。
  12. 方法count()用于统计结果集中文档条数

(1)统计性别为male的文档条数

db.student.find({gender:male}).count()

(2)统计年龄大于20,并且性别为male的文档条数

db.student.count({age:{$gt:20},gender:male})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值