mongodb基础操作:一

插入数据

var deptData = {
	"deptno":30,
	"dname":"市场部"
}

//插入
db.dept.insert(deptData)
//更新,mongo会维护一个id是由系统自动维护的
db.dept.update({"_id": ObjectId("5e7ee30bf356f6839cf22f65")},deptData)
//查看
dp.dept.find()

查看样例

删除集合和数据库

//dept为集合名,可以随意设置
db.dept.drop();

//这是删除当前数据库
db.dropDatabase()

数据库删除为删除当前数据库,记得使用use移动到想要删除的数据库

数据操作

//创建数据库
use mldn
//数据插入
var infoData ={"url":"www.baidu.com"}
db.infos.insert(infoData)

//插入多条
db.infos.insert([
	infoData,
	infoData
])

//批量插入
for(var x = 0; x < 100; x ++){
	db.infos.insert({"url":"mldn -" + x});
}

运行结果
输入it可以查看更多结果

数据查询

数据查看核心语法: db.集合名称。find({查询条件},{投影}),

//查找样例
db.infos.find({"url":"www.baidu.com"})
db.infos.find({"url":"www.baidu.com"},{"_id":0,"url":1}).pretty()

pretty() 用于漂亮显示,当列数较多的时候,效果明显。

条件过滤

使用where进行数据查询

db.students.find({"$where":"this.age>20"}).pretty();
db.students.find("this.age>20").pretty();
db.students.find(function(){
	return this.age>20
	}).pretty();
db.students.find({"$where":function(){
	return this.age>20
	}}).pretty();
//上面几个是等价的,其实就是传入一个函数。
//使用and链接多个条件
db.students.find({“$and” : [
	{"where":"this.age<21"},
	{"where":"this.age>19"}
	]
})
虽然这种方法可以实现数据查询,但是最大的缺店是将在mongodb中的BSon数据转换为了javaScript的语法结构,这样的方式不方面使用数据库索引机制。

正则运算

如果想要实现模糊查询,必须使用正则表达式,如果要想使用正则,则按照如下的定义格式:
	基础语法:{key: 正则标记};
	完整语法:{key:{"regx":正则标记, “$options”:选项 }}。
	主要选项:
	 i:不区分大小
//查找姓顾的同学
db.students.find({"name"://}).pretty();

//查询姓名中有字母a的(包括A)
db.students.find({"name":/a/i}).pretty();

数据排序

在MongoDB里面数据的排序操作使用“sort()” 函数,在进行排序时,有两种顺序:升序(1),降序(-1).
范例:数据排序
db.students.find().sort({"score":-1}).pretty();
排序里面有一种方式称为自然排序,即按照数据保存的先后顺序进行排序:"$natural"
db.students.find().sort({"$natural":-1}).pretty();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值