关于MongoDB的简单操作

MongoDB json
mongodb命令行操作方式: 声明式 | obj.api()

库操作:

指令(库)
查: show dbs
show 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)
替换后的:
{ s e t : 数 据 , set:{数据}, 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:/正则/}

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})
查找跳过10条限定显示10条 升序排列

db.insertOne({数据描述})

在node中使用基本过程

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、付费专栏及课程。

余额充值