MongoDB的基本操作

MySQL术语与MongoDB术语的对比

SQLMongoDB说明
databasedatabase数据库
tablecollecton表/集合
rowdocument行/文档
columnfield字段/域
indexindex索引
table joins表连接/mongodb不支持a
primary keyprimary key主键/mongoDB自动以_id为主键

数据库操作

	#查看所有数据库
	show dbs
	#切换数据库
	use 数据库名
	#mongodb是自动创建数据库的,插入数据即可创建 
	use testdb
	db.user.insert({'username':'xiaoming','pwd':'123456','age':18})
	#删除数据库在要删除的数据库下执行以下命令
	db.dropDatabase()

集合操作

	#创建集合 数据库创建插入集合中时就会自动创建
	#查看当前数据库下的所有集合
	show collections
	#删除集合
	db.user.drop()#user 是集合名成功返回true失败false

数据的增删改查

	#增加数据  db.COLLECTIONS_NAME.insert(document)
	db.user.insert({'username':'xiaoming','pwd':'123456'},'age':18)
	#查询所有数据
	db.user.find()
	#查询条件数据 语法
	db.user.find([query],[fields])
	--query:查询条件 $lt:小于 $lte:等于 $gt:大于 $gte:大于等于 都是以{<key> : <value>}的格式填入 
	--fields:投影操作符返回指定键。省略返回全部键默认是省略的
	#查询age等于18的用户
	db.user.find({'age':18})
	#查询age>18的
	db.user.find({'age':{$gt:18}})

	#更新数据
	db.collection.update(
		<query>,#条件 类似于where
		<update>,#update的对象和一些更新的操作符,类似于update中的set
		[
			upsert:<boolean>,#更新的数据如果不存在,是否插入。true插入。默认为flase
			multi:<boolean>,#默认是false 即只更新查找到的第一条数据。true则更新多条
			writeConcern:<document>#抛出的异常级别
		]
	)
	#更新username为xiaoming的user 年龄更新为10
	db.user.update({'username':'xiaoming'},{$set:{'age':10}})
	db.user.update({'username':'xiaoming'},{'age':10})#这样会删除掉其他字段
	#更新不存在的字段会自动添加新字段
	#更新不存在的数据默认不会新增数据
	db.user.update({"username":xiaohong},{$set:{'age':18}},true)#设置为true会新增不存在的数据
	#删除数据
	db.collection.remove(
		<query>,#条件
		{
			justOne:<boolean>,#默认为false会删除掉所有匹配的文档;true只删除一个文档
			writeConcern:<document>
		}
	)
	#删除年龄为18的user
	db.user.remove({'age':18})#会删除所有满足条件的user
	db.user.remove({'age':18},true)#只会删除一条
	#删除所有数据
	db.user.remove({})
	#简化操作
	db.user.deleteOne({'age':18})#删除一条
	db.user.deletMany({'age':18})#删除多条
	

索引

	#查看索引
	db.user.getIndexes()
	#创建索引
	db.user.createIndex({'age':18})
	#删除索引
	db.user.dropIndex('索引名称')
	#删除除_id以外的索引
	db.user.dropIndexes()
	#创建联合索引
	db.user.createIndex({'age':1,'username':'xiaoming'})
	#查看索引大小 单位B
	db.user.totalIndexSize()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值