mongodb基础操作:二

数据分页显示

在MongoDB里面的数据分页显示也是符合与大数据要求的操作函数:
skip(n):表示跨国多少数据行
limit(n):取出的数据行的个数限制
//分页显示(第一页)
db.students.find().skip(0).limit(5).sort({"age",-1})/pretty();
//分页显示(第二页)
db.students.find().skip(5).limit(5).sort({"age",-1})/pretty();

数据更新操作

对于MonggoDB而言,数据的更新基本上是一种很麻烦的事,

 函数的基本使用:
 	如果要修改数据,最直接的使用函数就是update():
	db.集合.update(更新条件,新的数据对象(新的操作符),upsert,multi)
	upsert:如果要更新的对象不存在,就增加一条数据。True为增加,false为不增加。
	multi:如果为true,全部更新,false,只更新第一条
//将年龄为19岁的人成绩更新100,只更新一个
db.students.update({"age":19},{"$set":{"score":100}},false,false)
//将年龄为19岁的人成绩更新100 ,全部更新
db.students.update({"age":19},{"$set":{"score":100}},false,true)
//更新不存在的数据,没有就会添加
db.students.update({"age":30},{"$set":{"name":"不存在"}},true,false)
save类似于update中upsert为true,如果不存在,就添加。
db.集合.save(更新条件,新的数据对象(新的操作符))

修改器

对MonggoDB数据库而言,数据的修改会牵扯到内容变更,结构变更,所以它提供了有一些列的修改器应用
1) $inc: 主要针对于数据的增加减小

//将19岁的减30分
db.students.update({"age":19},{"$inc":{"score":-30}})

2)$set:进行内容的重新设置:

//将19岁的设置为80分
db.students.update({"age":19},{"$set":{"score":80}})

3)$push:将内容追加到指定的成员之中(基本上是数组):
如果有数组,进行追加,如果没有,则创建一个新数组

db.students.update({"name":"张三"},{"$push":{"course":"语文"}})

4)$pushAll:将多个内容追加到指定的成员之中(基本上是数组):

db.students.update({"name":"张三"},{"$pushAll":{"course":["语文","美术"]}})

5)$addToSet:向数组里增加新的内容,如果已存在,则不增加:

db.students.update({"name":"张三"},{"$addToSet":{"course":"语文"}})
db.students.update({"name":"张三"},{"$addToSet":{"course":"语文"}})
  1. $pop:删除成员内的数据(也是对数组进行操作)(-1为第一个,1为最后一个):
db.students.update({"name":"张三"},{"$pop":{"course":-1}})
db.students.update({"name":"张三"},{"$pop":{"course":1}})

7): $pull:删除成员内的指定数据:

db.students.update({"name":"张三"},{"$pull":{"course":"音乐"}})

8):$pullAll:删除成员内的多个指定数据:

db.students.update({"name":"张三"},{"$pull":{"course":["音乐","语文"]}})

9):$rename:为成员名称重命名

db.students.update({"name":"张三"},{"$rename":{"name":"姓名"}}

10):$unset:删除某个成员的内容

db.students.update({"name":"张三"},{"$unset":{"name":1,"age":1}}

删除数据

	在mongDB中使用Remove进行删除。函数中有两个可选项:
		1)删除条件:满足条件的数据被删除;
		2)是否只删除一个数据,如果设置为true或者是1表示值删除一个 
//清空infos集合中的内容,在2.X中可用
db.infos.remove()
//清空带有古字的
db.infos.remove({”name“,//})
//清空带有古字的,只删除第一个
db.infos.remove({”name“,//},true)

关系查询

也就是平时的大于,大于,小于

//查询性别是男的
db.students.find("sex":"男")pretty()
//查询年龄大于19岁的学生
db.students.find("age":{"$gt":19}).pretty()
//查询年龄大于等于19岁的学生
db.students.find("age":{"$gte":19}).pretty()
//查询年龄不等于19岁的学生
db.students.find("age":{"$ne":19}).pretty()

逻辑运算

逻辑运算就三种:与( a n d ) , 或 ( and),或( and)or),非($ne)

//“与”用逗号链接就可以
db.students.find({"age":{"$gte":19"$lte":20}}).pretty()
//“非”用(“$ne”)
db.students.find({"age":{"$ne":19}}).pretty()
//"或"(“or”)
db.students.find({"$or":[{"age":{"$gte":19"$lte":20}},{"score":{"$gt":60}}]}).pretty()

取模运算

第一个数是除数,第二个是余数

db.students.find({"age":{"$mod":[20,0]}})

范围运算

主要是数据库,必须存在“$in”(在范围之中),“$nin”(不在范围之中)
db.students.find({"name":{"$in":["张三","李四"]}})
db.students.find({"name":{"$nin":["张三","李四"]}})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值