当前位置: 首页 > news >正文

电子商务网站的建设流程/建站推广网站

电子商务网站的建设流程,建站推广网站,专门做办公的网站,口红做网站多少钱MongoDB原子操作 mongodb不支持事务,所以在需要特别事务的项目中不建议使用mongo数据库。mongodb无法保证数据的完整性。但是mongodb支持许多的原子操作例如ducoment的save、update、delete等操作。 数据模型 在博客上看到一个能很好体现findAndModify操作原子性…

MongoDB原子操作

mongodb不支持事务,所以在需要特别事务的项目中不建议使用mongo数据库。mongodb无法保证数据的完整性。但是mongodb支持许多的原子操作例如ducoment的save、update、delete等操作。

数据模型

在博客上看到一个能很好体现findAndModify操作原子性的数据模型Product,如下:

{"_id":1,"product_name": "Samsung S3","category": "mobiles","product_total": 5,"product_available": 3,"product_bought_by": [{"customer": "john","date": "7-Jan-2014"},{"customer": "mark","date": "8-Jan-2014"}]
}

现在我们要对该商品进行购买,首先

  1. 应该先根据他的主键查询到该商品
  2. 然后判断可购买数量是否大于0
  3. 如果该document满足,对可购买数量进行-1操作,然后将用户购买记录插入product_bought_by这个数据中。

sql:

db.products.findAndModify({query:{_id:2, product_available:{$gt:0}},update:{$inc:{product_available:-1},$push:{product_bought_by:{customer:"tomsee",date:"2019-11-11 10:19:32"}}}
})

其他原子操作常见命令

$set: 指定一个建并更新键值,若建不存在则创建

{ $set : { field : value } }

$unset: 用来删除一个键

{ $unset : { field : 1} }

$inc: 对文档中某个值为数字类型的键进行增减操作

{$inc : { field : value } }

$push: 添加value到一个以field中,field必须是数组类型,如果field不存在则新增一个数组类型加进去。

{ $push : { field : value } }

$pushAll: 将多个值添加到数组中,同push

{ $pushAll : { field : value_array } }

$pull: 从数组field中删除一个value

{ $pull : { field : _value } }

$pop : 删除数组的第一个或最后一个元素

{ $pop : { field : 1 } }

$rename: 修改字段名称

{ $rename : { old_field_name : new_field_name } }

$bit: 位操作,integer类型

{$bit : { field : {and : 5}}}
http://www.lbrq.cn/news/1560979.html

相关文章:

  • 怎样做微商网站/seo网络排名优化哪家好
  • 网站开发的pc或移动端/网络销售新手入门
  • 问卷调查网站赚钱/腾讯新闻发布平台
  • 国家企业信用信息查询系统官网/seo主要做什么工作
  • 外贸soho网站建设/站长之家怎么找网址
  • 公司网站建设深圳/一起来看在线观看免费
  • 百度做网站要多长时间/学市场营销后悔死了
  • 承德项目网/seo就业指导
  • 妈妈在家里做女视频网站/天津seo推广
  • 湛江网站开发/网络工程师是干什么的
  • 池州网站建设公司/类似58的推广平台有哪些平台
  • 百度抓取网站/百度 seo 工具
  • 石家庄网站建设公司哪个好/百度视频推广怎么收费
  • wordpress 文章标签 调用/东莞网站关键词优化排名
  • 网站开发的app/长沙 建站优化
  • 外贸soho建网站/上海知名网站制作公司
  • 代加工厂接单平台/优化大师apk
  • 做英文网站公司/长沙网站排名推广
  • 电商设计网站素材/亚马逊排名seo
  • wordpress 显示空白页/广州seo外包多少钱
  • 网站优化的监测评估/seo排名优化软件免费
  • 中山做网站费用/深圳网站优化培训
  • 销售网站开发步骤/怎么样免费做网站
  • 建设银行泰安培训中心官方网站/广州官方新闻
  • 网站开发和软件开发/如何自己建个网站
  • 手机网站欣赏/深圳全网推广平台
  • 双鸭山住房和城乡建设局网站/互动营销公司
  • 呼和浩特商城网站建设/一键生成个人网站
  • 企业网络服务平台/独立站seo建站系统
  • word做网站框架/网站seo什么意思
  • springboot集成websocket
  • 正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
  • 【Docker】Ubuntu上安装Docker(网络版)
  • RK3568 NPU RKNN(五):RKNN-ToolKit-lite2板端推理
  • 宋红康 JVM 笔记 Day02|JVM的架构模型、生命周期、发展历程
  • Mac(一)常用的快捷键整理