1-2 MongoDB数据库基本操作--educoder上面的nosql题目以及笔记总结
自己整理的,现在全部发布出来第一关:数据库创建示例:查看是否已经启动:pgrep mongo -l连接本地数据库服务器,输入命令:mongo只要最下方出现“ > ”符号,就说明连接成功。创建数据库:use testdb(可自己命名)查看数据库:show dbs插入一些数据:db.testdb.insert({_id:1,name:”王小明”}) 用db.数据库名称.insert删除数据库:u
自己整理的,现在全部发布出来
第一关:数据库创建
示例:
查看是否已经启动:pgrep mongo -l
连接本地数据库服务器,输入命令:mongo
只要最下方出现“ > ”符号,就说明连接成功。
创建数据库:use testdb(可自己命名)
查看数据库:show dbs
插入一些数据:db.testdb.insert({_id:1,name:”王小明”}) 用db.数据库名称.insert
删除数据库:use testdb 切换到该数据库
db.dropDatabase()
测试题脚本:
use mydb
db
db.mydb.insert({“_id”:1,”name”:”李小红”})
第二关:创建集合
示例:
1、创建集合首先需要进入数据库:use testdb
2、在 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 会自动创建集合。)
一些命令:
1、创建集合命令(推荐):db.集合名.insert()(注意:一条数据用大括号“ {} ”括起来,多条数据用“ [] ”将所有数据括起来)
2、删除集合命令:db.集合名.drop()
3、查询集合命令:db.集合名.find()
查询与删除 |
插入文档创建集合 |
编程:
pgrep mongo -l
mongo //连接数据库
use TestDB2
db.t_stu.insert([{"_id":1,"name":"小明","sex":"男","hobbies":["乒乓球","羽毛球"]},{"_id":2,"name":"小红","sex":"女","hobbies":["画画","唱歌"]}])
第三关:文档操作一
示例:
1
、插入文档命令:
db.
集合名
.insert(
文档
)
2
、定义一个文档:
例如:
document=({_id:1,
name: '
王小明
',
sex: '
男
',
hobbies: ['
乒乓球
','
羽毛球
'],
birthday: '1996-02-14'
});
Document=
(
[{_id:1,
属性1
:“”,
属性2
:“”,
……
},{
_id:2,
属性1
:“”,
属性2:“”,
……
},
……
]
)
;
3、执行插入操作:db.person.insert(document)
person 是集合名,如果该集合不在该数据库中,MongoDB 会自动创建该集合并插入文档
4、查寻:db.person.find()
5、更新文档:db.person2.update({birthday:"1996-02-14"},{$set:{birthday:"1996"}})
名词解释:
update() 有两个参数,都是对象,中间用逗号“ ,”间隔;
第一个参数表示需要修改的值;
第二个参数用 $set 操作符指向更新后的值。
6、save() 方法
save() 方法通过传入的文档来替换已有文档。
例如:
db.person3.save({
"_id" :1,
"name" : "李小红",
"sex" : "女",
"hobbies" : [
"画画",
"唱歌",
"跳舞"
],
"birthday" : "1996-06-14"
})
如果 save() 法也指定了_id,则对文档进行更新;未指定_id则会执行插入功能,MongoDB 默认自动生成一个不重复的_id
- update() 方法仅适用于修改某条数据中的某个键值;
- save() 方法适用于修改整条数据
编程代码:
pgrep mongo -l
mongo
use Testdb3
document=({_id:1,
name: '张小华',
sex: '男',
phone: '12356986594',
hobbies: ['打篮球','踢足球','唱歌']
});
db.stu1.insert(document)
db.stu2.insert(document)
db.stu2.update({"phone":"12356986594"},{$set:{"phone":"18356971462"}})
db.stu3.insert(document)
db.stu3.save({_id:1,
name: '张晓晓',
sex: '女',
phone:'12365498704',
hobbies: ['跳舞','羽毛球','唱歌']
})
第四关:文档操作二
示例:
AND 条件:
find() 方法可以传入多个键 (key),每个键 (key) 以逗号隔开,即常规 SQL 的 AND 条件。如查询集合 stu1 中年龄为20岁的男性信息:
db.stu1.find({"age":20, "sex":"男"}).pretty()
(pretty() 方法,使输出更整齐)
删除文档数据
1、删除指定的数据:
db.stu1.remove({'age':20}) //删除年龄为20的数据
2、删除全部数据(集合并不会删除):
db.remove({})
编程测试代码:
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":{$gt:15},"sex":"女"}).pretty(); //在测试行里面要在$前面加\
db.stu1.find({"national":"苗族"});
db.stu1.find({"age":{$lt:20},"sex":"男"}).pretty();
db.stu2.remove({});
更多推荐
所有评论(0)