菏泽网站建设信息,微信小程序电脑端打开,wordpress 4.2 emoji,服装公司网站建设策划书一、数据库创建 任务描述 本关任务#xff1a;创建数据库。 相关知识 本关评测是在 Linux 环境下进行的#xff0c;MongoDB 的安装与配置测评系统均已默认完成。 为了完成本关任务#xff0c;你需要掌握#xff1a; 1.如何连接数据库#xff1b; 2.如何创建数据库。 连接数…一、数据库创建 任务描述 本关任务创建数据库。 相关知识 本关评测是在 Linux 环境下进行的MongoDB 的安装与配置测评系统均已默认完成。 为了完成本关任务你需要掌握 1.如何连接数据库 2.如何创建数据库。 连接数据库 MongoDB 安装完成后可以通过 pgrep mongo -l 命令来查看是否已经启动。如图1所示 图 1 在操作数据库之前需要连接它连接本地数据库服务器输入命令mongo预期输出如图2和图3所示 图 2 图 3 mongo -u mongo -p 13 --authenticationDatabase admin 其中连接的警告可以不用管只要最下方出现“ ”符号就说明连接成功。 创建数据库 连接上 MongoDB 之后就可以进行数据库的操作了接下来我们创建一个名为 Testdb 的数据库用命令use Testdb 语句来创建如果数据库不存在则创建数据库否则切换到指定数据库如图4所示 图 4 查看所有数据库我们可以通过 show dbs 命令来查看如图5所示 图 5 然而并没有我们刚创建的 Testdb 数据库。要想显示它我们需要向数据库插入一些数据db.Testdb.insert({_id:1,name:王小明})如图6所示 图 6 现在就可以看到我们创建的数据库 Testdb 了。 删除数据库 MongoDB 删除数据库需要先切换到该数据库中 use Testdb 然后再执行删除命令 db.dropDatabase() use mydb
switched to db mydbdb.mydb.insert({_id:1,name:李小红})
WriteResult({ nInserted : 1 }) 二、创建集合 任务描述 本关任务在数据库中创建一个集合。 相关知识 MongoDB 数据库中的集合相当于 MySQL 数据库中的表。 为了完成本关任务你需要掌握 1.如何在指定的数据库创建集合 2.查看集合 3.删除集合。 在指定的数据库创建集合 先进入指定数据库 Testdb :use Testdb 在 Testdb 数据库中创建创建固定集合 test 整个集合空间大小512000KB文档最大个数为1000个。 db.createCollection(test, { capped : true, autoIndexId : true, size : 512000, max : 1000 } ) capped 是一个布尔类型true 时创建固定集合必须指定 size。固定集合指有固定大小的集合当达到最大值时它会自动覆盖最早的文档。默认为 false autoIndexId 也是一个布尔类型如为 true自动在_id 字段创建索引。默认为 false size 为固定集合指定一个最大值以字节 KB 计 max 指定固定集合中包含文档的最大数量。 不过和 MySQL 不同的是在 MongoDB 中你不一定需要先创建集合。当你插入一些文档时MongoDB 会自动创建集合。 创建集合命令推荐db.集合名.insert()注意一条数据用大括号“ {} ”括起来多条数据用“ [] ”将所有数据括起来。 db.mytest2.insert([{name : 王小明,sex:男},{name : 李小红,sex:女}]) 默认 id MongoDB 中存储的文档 必须 有一个_id键如果我们插入数据的时候未指定_id系统会自动生成一个默认的 id 。这个键的值可以是任何类型的默认是个 ObjectId 对象。在一个集合里面每个文档都有唯一的_id值来确保集合里面每个文档都能被唯一标识。如果有两个集合的话两个集合可以都有一个值为123的_id键但是每个集合里面只能有一个_id是123的文档 查询集合 查询集合命令db.集合名.find()。由此我们也能看到 MongoDB 默认创建的_id如图1所示 图 1 删除集合 删除集合命令db.集合名.drop()如图2所示 图 2 mongo #进入MongoDBuse Testdb2
switched to db Testdb2db.t_stu.insert([{_id : 1,name : 小明,sex : 男,hobbies : [乒乓球,羽毛球]},{_id : 2,name : 小红,sex : 女,hobbies : [ 画画,唱歌]}])
BulkWriteResult({writeErrors : [{index : 0,code : 11000,errmsg : E11000 duplicate key error collection: Testdb2.t_stu index: _id_ dup key: { : 1.0 },op : {_id : 1,name : 小明,sex : 男,hobbies : [乒乓球,羽毛球]}}],writeConcernErrors : [ ],nInserted : 0,nUpserted : 0,nMatched : 0,nModified : 0,nRemoved : 0,upserted : [ ]
})db.t_stu.find()
{ _id : 1, name : 小明, sex : 男, hobbies : [ 乒乓球, 羽毛球 ] }
{ _id : 2, name : 小红, sex : 女, hobbies : [ 画画, 唱歌 ] }
三、文档操作一 任务描述 本关任务文档数据在 MongoDB 中的插入和更新。 相关知识 本章节中我们将向大家介绍文档数据在 MongoDB 中的基本操作。 文档的数据结构和 JSON 基本一样所有存储在集合中的数据都是 BSON 格式。BSON 是一种类 JSON 的一种二进制形式的存储格式简称 Binary JSON 。 为了完成本关任务你需要掌握 1.插入文档命令 2.更新文档的两种方法。 插入文档 插入文档命令db.集合名.insert(文档)。 该命令前面两关我们也有用到。除了前两关的用法以外我们还可以将数据定义为一个变量如下所示 document({_id:1,name: 王小明,sex: 男,hobbies: [乒乓球,羽毛球],birthday: 1996-02-14
}); 然后执行插入操作 db.person.insert(document) person 是集合名如果该集合不在该数据库中MongoDB 会自动创建该集合并插入文档查看 person 集合如图1所示 图 1 更新文档 更新文档主要会用到 update() 方法和 save() 方法。 update() 方法 我们先把 document 插入到集合 person2 db.person2.insert(document) 由于信息有误上面 birthday 的格式错了该怎么去修改这个字段的值呢这时就要用到 update() 方法了。 用 update() 方法来更新 person2 的数据把王小明的出生日期替换成1996命令如下 db.person2.update({birthday:1996-02-14},{$set:{birthday:1996}}) 更新后如图2所示 pretty() 方法的作用是使文档整齐的输出 图 2 可以发现 update() 有两个参数都是对象中间用逗号“ ”间隔第一个参数表示需要修改的值第二个参数用 $set 操作符指向更新后的值。 save() 方法 save() 方法通过传入的文档来替换已有文档。 我们先把 document 插入到集合 person3 中 db.person3.insert(document) 如果这时我们把一个人的数据都弄错了怎么办呢这时用 save() 方法来更新修改一下 person3 的数据就比较方便。 用 save() 方法把王小明的数据修改为李小红的数据 db.person3.save({_id :1,name : 李小红,sex : 女,hobbies : [画画,唱歌,跳舞],birthday : 1996-06-14
}) 注如果 save() 法也指定了_id则对文档进行更新未指定_id则会执行插入功能MongoDB 默认自动生成一个不重复的_id。 总结 update() 方法仅适用于修改某条数据中的某个键值 save() 方法适用于修改整条数据。 use Testdb3
switched to db Testdb3document({_id : 1,name : 张小华,sex : 男,phone : 12356986594,hobbies : [ 打篮球,踢足球,唱歌 ]})
{_id : 1,name : 张小华,sex : 男,phone : 12356986594,hobbies : [打篮球,踢足球,唱歌]
}db.stu1.insert(document)
WriteResult({ nInserted : 1 })db.stu2.insert(document)
WriteResult({ nInserted : 1 })db.stu3.insert(document)
WriteResult({ nInserted : 1 })db.stu2.update({phone : 12356986594},{$set:{phone : 18356971462}})
WriteResult({ nMatched : 1, nUpserted : 0, nModified : 1 })db.stu3.save({_id : 1,name : 张晓晓,sex : 女,phone : 12365498704,hobbies : [ 跳舞,羽毛球,唱歌 ]})
WriteResult({ nMatched : 1, nUpserted : 0, nModified : 1 })
四、 文档操作二 任务描述 本关任务文档数据在 MongoDB 中的查询和删除。 相关知识 为了完成本关任务你需要掌握 查询文档命令删除文档命令。 查询文档 我们先插入文档到集合 stu1 document([{name:张小华,sex:男,age:20,phone:12356986594,hobbies:[打篮球,踢足球,唱歌]
},{name:李小红,sex:女,age:18,phone:12355487536,hobbies:[跳舞,唱歌]
}]) db.stu1.insert(document) 然后查看 stu1 命令和结果如图1所示因为我们没有设置_id所以 MongoDB 会默认生成 图 1 上述显示的文档格式不够整齐我们可以使用 pretty() 方法使输出更整齐如图2所示 图 2 条件查询 操作格式范例关系数据库中类似的语句等于{key:value}db.stu1.find({name:李小红}).pretty()where name 李小红小于{key:{$lt:value}}db.stu1.find({age:{$lt:18}}).pretty()where age 18小于或等于{key:{$lte:value}}db.stu1.find({age:{$lte:18}}).pretty()where age 18大于{key:{$gt:value}}db.stu1.find({age:{$gt:18}}).pretty()where age 18大于或等于{key:{$gte:value}}db.stu1.find({age:{$gte:18}}).pretty()where age 18不等于{key:{$ne:value}}db.stu1.find({age:{$ne:18}}).pretty()where age ! 18 现在我们来查找一下 age 大于18岁的数据命令和效果如图3所示 图 3 AND 条件 find() 方法可以传入多个键 (key)每个键 (key) 以逗号隔开即常规 SQL 的 AND 条件。如查询集合 stu1 中年龄为20岁的男性信息 db.stu1.find({age:20, sex:男}).pretty() 查询结果如图4所示 图 4 删除文档数据 删除指定的数据 db.stu1.remove({age:20}) //删除年龄为20的数据 查看该集合的内容如果只剩下如图5所示的信息说明数据删除成功 图 5 删除全部数据集合并不会删除 db.remove({}) 查看该集合的内容如果如图6所示无显示或者显示为空说明数据全部删除 #########begin#########
echo document([{_id:1,name:西西,sex:女,age:23,national:汉族},{_id:2,name:东东,sex:男,age:20,national:苗族},{_id:3,name:北北,sex:男,age:19,national:汉族},{_id:4,name:南南,sex:女,age:15,national:傣族}]);
db.stu1.insert(document);
db.stu2.insert(document);
db.stu1.find({age:{\$gte:15},sex:女});
db.stu1.find({national:苗族});
db.stu1.find({age:{\$lt:20},sex:男});
db.stu2.remove({});
#########end#########