MongoDB的安装使用

MongoDB的安装使用及与mysql对比:

mongoDb

干嘛的:数据库,nosql(非关系型|缓存型)

场景:解决大规模数据集合多重数据种类

下载:https://www.mongodb.com/download-center
安装:https://www.cnblogs.com/keyi/p/10984514.html

测试服务端是否启动: 
	启动客户端: 安装目录\Server\4.0\bin\    mongo 回车
	手动启动服务端:安装目录\Server\4.0\bin\   mongod 回车
		port=27017	默认端口
		mongodb://127.0.0.1:27017	协议+IP+端口

指定数据存储目录: 需要指定一次
	mongod --dbpath c:\data\db    db目录要手动创建
环境变量:为了在任意盘符下去启动客户端和服务端  mongod服务端|mongo客户端
	我的电脑->属性->高级配置->环境变量-》 + key:value

``
和mysql对比

名词
	mysql			mongoDb

	database(库)		database(库)
	table(表)		collection(集合)
	row(一条数据)	document(文档)
	column(字段)		field(区域)
	...

存储方式:
	mysql 二维表
	MongoDB json
mongodb命令行操作方式:  声明式 | obj.api()

库操作:

	查: show dbs
		db 查看当前库
	建:	use 库名	   没有建,有就切换
集合(表)操作:
	建:db.createCollection('表名',{配置})
		配置:{size:文件大小,capped:true,max:条数|文档数} capped定量
		db.表(集合).isCapped() 返回 true/false 是否是定量
	查:show collections / db.getCollectionNames()
	删:db.表|集合.drop()
文档(row)操作:
	增:
		db.集合.save({}) / db.集合.insert({})  添加一条
		db.insertOne({})

		db.集合.save([{},{}]) / db.集合.insert([{},{}]) 多条
		insert  不会替换相同ID	save会

	删:
		db.集合.deleteOne({要删数据条件描述}) db.集合.remove({},true)  一条
		db.集合.remove({要删数据条件描述}) 多条
		db.集合.remove({}) 清空表
	改:
		db.集合.udpate({查询条件},{替换条件},插入bl,全替换bl)
		替换后的:
			{$set:{数据},$inc:{age:1}}
	查:
		所有:db.集合.find(条件)
		条数: db.集合.find().count()
		去重:db.集合.distinct(key)

		条件
			{age:22}			age == 22
			{age:{$gt:22}}		age > 22
			{age:{$lt:22}}    	age < 22
			{age:{$gte:22}}		age>=22
			{age:{$lte:22}}		age<=22
			{age:{$lte:122,$gte:22}}	age<=122 && age>=22
			{$or:[{age:22},{age:122}]}	22 or 122
			{key:value,key2,value2}  value && value2
			{name:/正则/}

``
mongodb

		db.集合.find({条件},{指定要显示列区域})
			指定要显示列区域: 区域名username:1 显示着个区域,其他不显示
			指定要显示列区域: 区域名username:0 不显示着个区域,其他显示
			_id 是默认显示

		限定:
			db.集合.find().limit(number)  限定
			db.集合.find().skip(number)	跳过
			db.集合.findOne() / db.集合.find().limit(1)  查询第一条
	排
		升:db.集合.find().sort({key:1,key2:-1})
		降:db.集合.find().sort({key:-1})


	db.集合.find({条件},{指定显示区域}).skip(10).limit(10).sort({key:1})
	db.insertOne({数据描述})

``
mongodb 客户端包 mongodb | mongoos

	1.	require('mongodb'); 引入模块  第三方模块
	2.	创建客户端	mongoCt = mongodb.MongoClient
	3.	创建链接	mongoCt.connect('协议://地址:端口',回调(err,client))
	3.5 链库 		client.db('库名')
	4.	链接集合(表) 	user = db.collection('集合名');
	5.	user.API()  集合操作		返回 对象
		one === 1  Many 多个

		增
			insertOne(对象数据,(err,res)=>{})  res = 对象  
			insertMany(arr数据,(err,res)=>{}) res = 对象  
				res.result.n 结果  ok 状态
				res.ops内容  数组
				result.insertedId 插入后的id

		删:
			deleteOne({条件},(err,result)=>{})
				res.result.n 结果  ok 状态
				result.deletedCount:1  删除的条数
		改:
			updateOne({条件},{更新后},(err,res)=>{})
			updateMany({条件},{更新后},(err,res)=>{})

				res.result.n 结果  ok 状态
				res.modifiedCount  修改的条数

				updateMany({条件},{更新后},{配置},(err,res)=>{})
				
				配置: upsert:true 插入
					  projection:true 全局替换
		查:
			user.find({条件},{skip:1,limit:1,projection:{key:1}},(err,result)=>{result=对象})
			user.find({条件},{projection:{key:0}}).toArray((err,result)=>{reulst==arr})
			user.countDocuments((err,num)=>{num返回数量})

		排序
			user.find(..).sort({key:-1}).toArray..
			user.find({},{projection:{},sort:{key:-1}}).toArray..
	6. client.close() 关闭库链接
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值