mongodb.mongoose维护内嵌数组元素
运行环境:
- 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维护内嵌数组元素的更多相关文章
- Spring data mongodb 聚合,投射,内嵌数组文档分页.
尽量别直接用 DBObject ,Spring data mongodb 的api 本来就没什么多大用处,如果还直接用 DBObject 那么还需要自己去解析结果,说动做个对象映射,累不累 Spri ...
- mongo 删除内嵌数组元素
文档格式如下: { "_id" : ObjectId("56e2a92ccc6dd2271953e502"), "links": [ { & ...
- MongoDB查询内嵌数组(限定返回符合条件的数组中的数据)(1)
https://blog.csdn.net/bicheng4769/article/details/79579830 项目背景 最近在项目中使用mongdb来保存压测结果中的监控数据,那么在获取监控数 ...
- MongoDB .Net Driver(C#驱动) - 内嵌数组/嵌入文档的操作(增加、删除、修改、查询(Linq 分页))
目录 一.前言 1. 运行环境 二.前期准备工作 1. 创建 MongoDBContext MongoDb操作上下文类 2.创建测试类 3.创建测试代码 三.内嵌数组增加元素操作 1.Update.S ...
- mongodb查询返回内嵌符合条件的文档
db.T_Forum_Thread.find({ "ThreadReply.ReplyContent" : /范甘迪/ }, { "ThreadReply.$" ...
- Mongodb内嵌数组的完全匹配查询
样例数据: { "cNo" : "11", "Details" : [ { &q ...
- mongodb 内嵌数组查询问题: 如何限定返回与条件匹配的数组
原文地址:https://segmentfault.com/q/1010000002943721
- VB webbrowser 控件的应用(跨域 内嵌网页元素的访问)
自动登录财付通,难点在于会出现验证码,并且验证码页是在iframe元素下的,出于各种安全考虑,webbrowser控件不提供这种访问机制!当然,第一想到的是将这个网页拿出来,可是输入完毕验证码后,点击 ...
- 弹出iframe内嵌页面元素到父页面并全屏化
(注册博客好久了,一直没舍得添砖加瓦,主要是每次想写点东西的时候,随便搜一搜发现都比我总结的都要好,甚感尴尬,但是总是要开始的,所以这就是我的第一篇博客,也绝不会是最后一篇,废话不多说,直接入正题) ...
随机推荐
- IDEA测试结果查看
点击漏斗图标切换查看测试日志信息,点击,导出测试报告
- jsonp原理和实例详解
1.一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面.动态网页.web服务.WCF,只要是跨域请求,一律不准:2.不过我们又发现,Web页面上调用js文件时则不受 ...
- jquery----用户密码验证
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python 全栈开发,Day131(向app推送消息,玩具端消息推送)
先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.4.zip 注意:由于涉及到 ...
- php手动搭建wamp环境(一)--之 Apache HTTP Servcer-Apache
前言:因为之前为了快速进入工作(其实是懒!),所以一直使用集成环境 wampserver 或 phpstudy,傻瓜式安装使用卸载,配置也简单.但是最近新电脑突然想回顾一下手动安装,所以记录一下.搭 ...
- HTML页面滚动时获取离页面顶部的距离2种实现方法
获取离滚动页面的顶部距离有两种方法一是DOM:而是jquery,具体的实现如下,感兴趣的朋友可以尝试操作下 方法一:DOM 复制代码 代码如下: <script> window.o ...
- 001 Spark的简介以及入门
1.hadoop,spark,Flink的比较 MapReduce: 分布式的计算框架 -> Hive 问题: shuffle:大文件的排序+读写磁盘+网络传输 => 比较慢 只有两种执行 ...
- hdu 1576 A/B 【扩展欧几里得】【逆元】
<题目链接> <转载于 >>> > A/B Problem Description 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)( ...
- ubuntu TensorFlow安装
Tensorflow安装确实比caffe简单... cuda,cudnn安装就不说了 1 安裝pip(有就跳过) sudo apt-get install python-pip python-dev ...
- 一次线上FullGC问题记录
标题采自:英雄联盟-瑞文:断剑重铸之日,骑士归来之时! 断剑 前两天早上在挤地铁的时候看到小组群里,主管发了好多消息,打开来一看,说是XX项目自从22号发版后,每天晚上就疯狂Full GC,让 ...