运行环境:

- Nodejs
- MongoDB

文档实例名:

ProjectJob

文档格式如下:

{
"_id" : ObjectId("5bc69eb0b298b33578bde0d8"),
"title" : "项目名称",
"author" : ObjectId("5b694937dd0ca426403c5f2b"),
"createdate" : ISODate("2018-10-17T02:30:08.021Z"),
"jobs" : [
{
"_id" : ObjectId("5bc6d4703363941e30d6ccc7"),
"subject" : "项目子元素111"
},
{
"_id" : ObjectId("5bc6d4853363941e30d6ccc8"),
"subject" : "项目子元素222"
}
]
}

新增子元素

var swhere = {_id: pjid};
var supdate = {$addToSet: {jobs:{subject: job}}}
ProjectJob.findOneAndUpdate(swhere, supdate, {new:true}, function(err){
  if (err) {
    res.end(JSON.stringify({code: , msg: "职位添加不成功"}));
    return;
  }
  res.end(JSON.stringify({code: , msg: "OK"}));
});

修改子元素

var swhere = {_id: pjid, "jobs._id": jid};
var supdate = {$set:{"jobs.$":{"subject": job}}};
ProjectJob.update(swhere, supdate, function(err){
  if (err) {
    res.end(JSON.stringify({code: , msg: "更新不成功"}));return;
  }
  res.end(JSON.stringify({code: , msg: "OK"}));
});

删除子元素

var swhere = {_id: pjid};
var supdate = {$pull: {jobs: {_id: jid}}}
ProjectJob.update(swhere, supdate, function(err){
  if (err) {
    res.end(JSON.stringify({code: , msg: "删除不成功"}));return;
  }
  res.end(JSON.stringify({code: , msg: "OK"}));
});

mongodb.mongoose维护内嵌数组元素的更多相关文章

  1. Spring data mongodb 聚合,投射,内嵌数组文档分页.

    尽量别直接用 DBObject  ,Spring data mongodb 的api 本来就没什么多大用处,如果还直接用 DBObject 那么还需要自己去解析结果,说动做个对象映射,累不累 Spri ...

  2. mongo 删除内嵌数组元素

    文档格式如下: { "_id" : ObjectId("56e2a92ccc6dd2271953e502"), "links": [ { & ...

  3. MongoDB查询内嵌数组(限定返回符合条件的数组中的数据)(1)

    https://blog.csdn.net/bicheng4769/article/details/79579830 项目背景 最近在项目中使用mongdb来保存压测结果中的监控数据,那么在获取监控数 ...

  4. MongoDB .Net Driver(C#驱动) - 内嵌数组/嵌入文档的操作(增加、删除、修改、查询(Linq 分页))

    目录 一.前言 1. 运行环境 二.前期准备工作 1. 创建 MongoDBContext MongoDb操作上下文类 2.创建测试类 3.创建测试代码 三.内嵌数组增加元素操作 1.Update.S ...

  5. mongodb查询返回内嵌符合条件的文档

    db.T_Forum_Thread.find({ "ThreadReply.ReplyContent" : /范甘迪/ }, { "ThreadReply.$" ...

  6. Mongodb内嵌数组的完全匹配查询

    样例数据: {      "cNo" : "11",     "Details" : [         {              &q ...

  7. mongodb 内嵌数组查询问题: 如何限定返回与条件匹配的数组

    原文地址:https://segmentfault.com/q/1010000002943721

  8. VB webbrowser 控件的应用(跨域 内嵌网页元素的访问)

    自动登录财付通,难点在于会出现验证码,并且验证码页是在iframe元素下的,出于各种安全考虑,webbrowser控件不提供这种访问机制!当然,第一想到的是将这个网页拿出来,可是输入完毕验证码后,点击 ...

  9. 弹出iframe内嵌页面元素到父页面并全屏化

    (注册博客好久了,一直没舍得添砖加瓦,主要是每次想写点东西的时候,随便搜一搜发现都比我总结的都要好,甚感尴尬,但是总是要开始的,所以这就是我的第一篇博客,也绝不会是最后一篇,废话不多说,直接入正题) ...

随机推荐

  1. IDEA测试结果查看

    点击漏斗图标切换查看测试日志信息,点击,导出测试报告

  2. jsonp原理和实例详解

    1.一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面.动态网页.web服务.WCF,只要是跨域请求,一律不准:2.不过我们又发现,Web页面上调用js文件时则不受 ...

  3. jquery----用户密码验证

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. python 全栈开发,Day131(向app推送消息,玩具端消息推送)

    先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.4.zip 注意:由于涉及到 ...

  5. php手动搭建wamp环境(一)--之 Apache HTTP Servcer-Apache

    前言:因为之前为了快速进入工作(其实是懒!),所以一直使用集成环境 wampserver  或 phpstudy,傻瓜式安装使用卸载,配置也简单.但是最近新电脑突然想回顾一下手动安装,所以记录一下.搭 ...

  6. HTML页面滚动时获取离页面顶部的距离2种实现方法

    获取离滚动页面的顶部距离有两种方法一是DOM:而是jquery,具体的实现如下,感兴趣的朋友可以尝试操作下     方法一:DOM 复制代码 代码如下: <script> window.o ...

  7. 001 Spark的简介以及入门

    1.hadoop,spark,Flink的比较 MapReduce: 分布式的计算框架 -> Hive 问题: shuffle:大文件的排序+读写磁盘+网络传输 => 比较慢 只有两种执行 ...

  8. hdu 1576 A/B 【扩展欧几里得】【逆元】

    <题目链接> <转载于 >>> > A/B Problem Description 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)( ...

  9. ubuntu TensorFlow安装

    Tensorflow安装确实比caffe简单... cuda,cudnn安装就不说了 1 安裝pip(有就跳过) sudo apt-get install python-pip python-dev ...

  10. 一次线上FullGC问题记录

    ​ 标题采自:英雄联盟-瑞文:断剑重铸之日,骑士归来之时! 断剑 ​ 前两天早上在挤地铁的时候看到小组群里,主管发了好多消息,打开来一看,说是XX项目自从22号发版后,每天晚上就疯狂Full GC,让 ...