Mongo对内嵌文档的CRUD
{
"_id" : ObjectId("5706032acd0a6194868cf53e"),
"list" : {
"age" : 22.0,
"name" : "qiaoansheng"
},
"BookS" : [{
"bookName" : "在绝望中寻找希望"
}]
}
现在数据库中有这么一个文档,下面就是对他进行一系列的增删改查
增
我需要在list中再加一个key school
db.ansheng.update({"_id":ObjectId("5706032acd0a6194868cf53e")},{"$set":{"list.school":"驻马店第一高级中学"}})
执行完成后结果如下
{
"_id" : ObjectId("5706032acd0a6194868cf53e"),
"list" : {
"age" : 22.0,
"name" : "qiaoansheng",
"school" : "驻马店第一高级中学"
},
"BookS" : [{
"bookName" : "在绝望中寻找希望"
}]
}
删
改
{
"_id" : ObjectId("5706032acd0a6194868cf53e"),
"list" : [{
"age" : 13.0,
"name" : "张三",
"school" : "驻马店市第一小学"
}, {
"bookName" : "在绝望中寻找希望",
"money" : 188.0
}, {
"age" : 23.0,
"name" : "隔壁老王",
"cshool" : "家里蹲大学"
}],
"BookS" : [{
"bookName" : "在绝望中寻找希望"
}],
"aaaaa" : 20.0
}
现在有上面的这一个文档,对list中的数据进行一些列的修改
$inc 可以用来修改 值类型的数据,不能修改长字符串类型的数据
db.ansheng.update({"aaaaa":20},{"$inc":{"list.0.age":2}})
db.【对应的表】.update(【查询参数】,{"$inc":{"list.【这个集合的下标】.【需要修改的字段名称】":2}})
根据 name 修改 隔壁老王 的年龄
db.ansheng.update({"list.name":"隔壁老王"},{"$inc":{"list.$.age":100}})
这种方法只会修改第一个匹配到的数据,如果这个集合中还有一个 隔壁老王 则它的age是不会修改的
查
db.nqwd.find({"books.name":"语文"})//可以匹配到内嵌文档中 包含语文的所有数据
当我需要找到 name为语文并且money为200的数据
db.nqwd.find({"books.name":"语文","books.money":200})或者
db.nqwd.find({books:{"$elemMatch":{name:"语文",money:200}}})
Mongo对内嵌文档的CRUD的更多相关文章
- mongodb 对内嵌文档(数组) group分页查询,并设置查询条件
文档示例Account的其中一条记录: // collection: Account { "_id" : ObjectId("5843e38e535f3708f759b2 ...
- mongodb内嵌文档的javaapi,增删改查
数据结构: {"_id" : "000000001", //Mongodb默认主键 "UID" : "000000001&quo ...
- mongodb对数组元素及内嵌文档进行增删改查操作(转)
from:https://my.oschina.net/132722/blog/168274 比如我有一个user类,他包含一个标签属性,这个标签是一个数组,数组里面的元素是内嵌文档,格式如下: &l ...
- 学习MongoDB 五: MongoDB查询(数组、内嵌文档)(二)
一.简介 我们上一篇介绍了db.collection.find()可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段,我们今天介绍了对数组和内嵌文档的查询操作,尤其是 ...
- MongoDB-4: 查询(二-数组、内嵌文档)
一.简介 我们上一篇介绍了db.collection.find()可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段,我们今天介绍了对数组和内嵌文档的查询操作,尤其是 ...
- mongoTemplate操作内嵌文档
关系型数据库中,表与表的关联关系有1:1,也有1:n的.在java的面向对象的世界里就是主对象嵌子对象,与主对象嵌集合<子对象>的两种形式. 主对象嵌子对象操作: 新增.修改都直接用如下方 ...
- MongoDB对数组元素及内嵌文档进行增删改查操作
比如我有一个user类,他包含一个标签属性,这个标签是一个数组,数组里面的元素是内嵌文档,格式如下: { "_id" : "195861", &qu ...
- MongoDB 内嵌文档
MongoDB是文档型的数据库系统,doc是MongoDB的数据单位,每个doc相当于关系型数据库的数据行(row),doc和row的区别在于field的原子性:row中的column是不和分割的原子 ...
- 使用DOM进行xml文档的crud(增删改查)操作<操作详解>
很多朋友对DOM有感冒,这里我花了一些时间写了一个小小的教程,这个能看懂,会操作了,我相信基于DOM的其它API(如JDOM,DOM4J等)一般不会有什么问题. 后附java代码,也可以下载(可点击这 ...
随机推荐
- D. Array GCD
You are given array ai of length n. You may consecutively apply two operations to this array: remove ...
- DataTable转换成List<T>
很多时候需要将DataTable转换成一组model,直接对model执行操作会更加方便直观. 代码如下: public static class DataTableToModel { public ...
- 概率 Gym 100502D Dice Game
题目传送门 /* 题意:两个人各掷两个骰子,给出每个骰子的最小值和最大值,其余值连续分布 问两人投掷,胜利的概率谁大 数据小,用4个for 把所有的可能性都枚举一遍,统计每一次是谁胜利 还有更简单的做 ...
- 超级楼梯[HDU2041]
超级楼梯 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- css3中的几何图形shape研究
前言 估计大家在日常工作中都会用到css形状,但是目前天朝中使用到最多的估计就是圆(circle).椭圆(ellipse).各种三角形形状,但是你肯定很少看见过用几何图形或者多边图形.假如你不懂什么叫 ...
- C#引用Interop.SQLDMO.dll后的注意事项(转)
C#引用sqldmo.dll的方法 找到 sqldmo.dll这个文件C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll用.N ...
- csv格式
Name,Password nmae:xiaofan,password:1234567890 每个逗号就是一列
- [转] - Ubuntu 安装Eclipse
昨天捣鼓一天,终于在Linux下成功安装Eclipse,这样,就能在Linux下像Windows的Visual Studio一样写程序了. 在网上搜索各种方法,但是没有一种方法是完整可行的,结合各种帖 ...
- 上传文件及$_FILES的用法实例
Session变量($_SESSION):�php的SESSION函数产生的数据,都以超全局变量的方式,存放在$_SESSION变量中.1.Session简介SESSION也称为会话期,其是存储在服务 ...
- Ctrl+Shift+F12切换最大化编辑器
常用快捷键(keymaps:Default情况下) Esc键编辑器(从工具窗口) F1帮助千万别按,很卡! F2(Shift+F2)下/上高亮错误或警告快速定位 F3向下查找关键字出现位置 F4查找变 ...