mongo 的基本操作

mongodb 的基本操作

mongodb 对比 mysql

databases == databases
collection == table
document == row(record(记录))

操作数据库

  • show dbs(看所有库)

    use aaa;(使用库aaa(没有则创建))

    db.createCollection(“创建集合名(表名)”)

    show collections (查看所有文档)

    db.stats() 查看状态

    db.dropDatabase() 删除数据库

操作collection(集合)

db.createCollection("创建的集合名")

show.collections() 查看所有集合

db.user.renameCollection("new name") 改集合名

db.u1.drop() 删除集合u1

操作文档(相当row)

插入:	db.集合名.insert({})
	循环插入:
		for(var i=1;i<=10;i++) { 
			db.集合名.insert({"key":"value"})
		 }

查询:	db.集合名.find()
	db.集合名.count()		

删除:  db.集合名.remove({})

更新:	db.集合名.update({"条件字段":""},{$set:{"":""}})

条件查询

大于	$gt 
小于	$lt 
大于等于	$gte
小于等于	$lte
等于	$eq
不等于	$neq

正则 	/条件/ 	
	查询cjh111 中含有q的  显示title 不显示_id
	db.cjh111.find({"title":/q/},{"title":1,"_id":0})


db.cjh111.find({"rank":{$gt:10}},{"title":1,"_id":0})
相当于
select tltle from cjh111 where "rank">10

复杂查询

多条件	
	db.集合名.find({"":"","":""})
or
	db.集合名.find({$or:[{},{}]})
in
	db.集合名.find({"":{$in:[...]}})	

查询存在字段a的行
	db.集合名.find({"字段a":{$exists:true}})

抽出指定字段

显示字段a,b 不显示c,d
	db.集合名.find({},{"a":1,"b":true,"c":false,"d",0})

所有都不写则全部显示 
	_id:0 隐藏id

#!!	其他的字段只写需要显示的字段(除了_id 其他字段设置为0会报错)

排序 sort()

db.集合名.find({},{"_id":0}).sort({"rank":1})

显示多少条数据(分页) limit()

db.集合名.find({},{"_id":0}).sort({"rank":1}).limit(5)

跳过 skip()

db.集合名.find({},{"_id":0}).sort({"rank":1}).skip(5).limit(5)

文档更新(update)

update(filter,update,options)	

注意只更新一条数据(和sql不同):
	db.集合名.update({"条件字段":""},{$set:{"":}})

必须加{$set:} 不加会清空除_id的所有字段
	db.集合名.update({"条件字段":""},{"":})

更新所有
	加{multi:true} 
	db.集合名.update({"条件字段":""},{$set:{"":}},{multi:true})

特殊函数

$inc: 递加
	db.集合名.update({条件},{$inc:{"字段":加的值}})
$mul: 相乘
	db.集合名.update({条件},{$mul:{"字段":乘的值}})
$rename: 改字段名
	db.集合名.update({条件},{$rename:{"old name":"new name"}})
$set: 新增or修改
	db.集合名.update({条件},{$set:{"新字段":值}})	
$unset: 字段删除
	db.集合名.update({条件},{$unset:{"字段":值}})

特殊更新

upsert: 有则更新。无则追加(不写$set:)
	db.集合名.update({条件},{设置或修改的值},{upsert:true})

remove : 删除符合条件的行(不写条件则删除所有内容)
	db.集合名.remove({条件}

索引

获取索引
	db.集合名.getIndexes()

添加索引(升序1, 降序-1):
	设为唯一索引	{unique:true}
	
	createIndex({...},{...})

	db.集合名.createIndex({索引字段:1},{unique:true})

删除索引
	db.集合名.dropIndex({索引字段:1})

备份与恢复

备份	mongodump

恢复	mongorestore

	mkdir 备份数据文件夹
	
	cd 备份数据文件夹

	mongodump -d 需要备份的库

	mongorestore --drop   数据恢复
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值