文档章节

mongodb 数组内容匹配删除方法, $all 用法

筱龙缘
 筱龙缘
发布于 2016/07/14 17:15
字数 105
阅读 44
收藏 1

文档如下

相册

{
  "_id" : ObjectId("573ac80afb5f892dac0063e9"),
  "pictureSize" : 3,
  "pictures" : ["573ac80afb5f892dac0063e6", "573ac80afb5f892dac0063e7", "573ac80afb5f892dac0063e8"],
}

需求 删除多张照片 假设删除 "573ac80afb5f892dac0063e6", "573ac80afb5f892dac0063e7" 这两个 同时 pictureSize -2 为了保证删除内容必须匹配 且 要么此操作都成功 要么都失败

update 语句:

var ws = db.albums.update({_id:ObjectId("573ac80afb5f892dac0063e9"),pictures: {  "$all": ["573ac80afb5f892dac0063e7", "573ac80afb5f892dac0063e6"]  } },{
    $pullAll:{pictures:["573ac80afb5f892dac0063e7", "573ac80afb5f892dac0063e6"]},
    $inc:{pictureSize:-2}
})

ps: mongodb 语句 真是黑魔法。。。

© 著作权归作者所有

共有 人打赏支持
筱龙缘
粉丝 19
博文 29
码字总数 13048
作品 1
南京
程序员
PHP-mongo-php-library使用

上文地址:https://www.jianshu.com/p/1de642b956f7 接下来,我就按照这个官方包来给大家演示一遍基本的curd,我附带上原生的mongodb语句,以便大家理解 注明:我用的MongoDB版本为3.4. 打开任意一...

DullCat
05/16
0
0
MongoDB数据插入、删除、更新

1. MongoDB数据插入 MongoDB插入文档 // 插入语法db.[collectionName].insert({})// exampledb.sample.insert({name:"mongo"})1234 sample结果: 2. 批量插入文档 shell 这样执行是错误的 db......

xiaocao13140
06/04
0
0
MongoDB学习笔记--增、删、改(五)

添加文档 在mongodb中,用db.collection.insert()方法向集合中添加一个新的文档。此外,还可以用db.collection.update()和db.collection.save()也可通过一个补称为更新插入(upsert)的操作添...

无名99268
2013/10/17
0
0
MongoDb的基本操作快速入门

1.MongoDb简介 mongodb是一个基于分布式存储的开源数据库系统又被称为文档数据库,可以将数据存储为一个文档,数据结构有键值对(key=>value)对组成,存储的文档类似于JSON对象(BSON->JSO...

OMCloud
06/26
0
0
mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、等等)

最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网:https://www.mongodb.com/ MongoDB 是一个基于分布式文件存储的...

Airship
06/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
今天
2
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
2
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
5
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
今天
2
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部