MongoDb简要操作

mongoDb简介

  • 分布式文件存储型的开源NoSQL数据库
  • 用于存储费结构化数据
  • SQL中的绝大多数操作有对应的方式来实现
  • 采用BSON(类JSON的二进制存储格式)

以下均是基于Robo 3T 对mongo数据的操作
一 、基本操作
1.1 数据插入

  db.A.insertMany([
   { item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
   { item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" },
   { item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
   { item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
   { item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }
]);

1.1数据查询

db.inventory.find( {} )    
				等同于 SELECT * FROM inventory
     			表示查询inventory表下的所有数据
db.inventory.find( { status: "D" } )      
				等同于 SELECT * FROM inventory WHERE status = "D"
				表示查询集合inventory中status=“D”的数据
db.inventory.find( { status: "A", qty: { $lt: 30 } } )   
				等同于SELECT * FROM inventory WHERE status = "A" AND qty < 30    
db.inventory.find( { $or: [ { status: "A" }, { qty: { $lt: 30 } } ] } )  等同于 SELECT * FROM inventory WHERE status = "A" OR qty < 30	
db.inventory.find( {
     status: "A",
     $or: [ { qty: { $lt: 30 } }, { item: /^p/ } ]
} )
				等同于SELECT * FROM inventory WHERE status = "A" AND ( qty < 30 OR item LIKE "p%")

嵌套数据查询

 db.inventory.find(  { size: { w: 21, h: 14, uom: "cm" } }  )    
    			查询表中所有size等于 { h: 14, w: 21, uom: "cm" }: 的数据
 db.inventory.find( { "size.uom": "in" } )          
 				表示查询inventory中在size的uom字段中等于“cm”的数据 
   
      注意:集合名外用英文单引号,阈值C如果不是数字,也必须使用单引号,且所以的字符都必须是英文格式下的。

组合数据查询

db.A.find(
 {entrance :'20001',channel:'web'}
).sort({createdDate:-1}).limit(5)  
  等同于select * from A where  entrance=‘20001’ and channel="web"  order by  createdDate desc limit 5

数据为空查询

db.inventory.find( { item : { $type: 10 } } )  
			  表示仅仅对item为空的数据,返回所有type=10的查询结果

db.inventory.find( { item : { $exists: false } } )
				表示只返回item不存在的记录数据

1.3 数据删除

 db.inventory.deleteMany({ }) 
 				 等同于 delet from inventory,
 				 表示删除对应表中的所有数据
 db.inventory.deleteMany({ status : "A" }) 
 				 等同于 delet from inventory where status="A"
    			表示删除表中满足特定条件的数据
  db.inventory.deleteOne( { status: "D" } )  
			 等同于 delet from inventory where status="D" limit 1
    			表示删除表中满足特定条件的数据中的第一条
   db.inventory.remove( { } )
   				 等同于 delet from inventory,
 				 表示删除对应表中的所有数据
  db.inventory.remove( { qty: { $gt: 20 } }, true )  写ture或1都可以
   			        等同于 delet from inventory where qty>20 limit 1
    			表示删除表中满足特定条件的数据中的第一条
 注意:remove()和deleteMany()删除的功效都差不多,但是deleteMany()会返回每次的有效删除个数,这个是我目前发现的唯一的一点区别差异

)

weixin063传染病防控宣传微信小程序系统的设计与实现+springboot后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值