mongo的insert和save比较
insert仅仅是插入文档到集合中,如果记录不存在则插入,如果记录存在则忽略 save是在文档不存在时插入,存在时则是更新 下面代码不是为了演示insert和save的: foreach ($menses['page'] as $k => $value) { if(isset($value['id'])) { if(isset($value['is_del']) && intval($value['is_del']) === 1) { //删除操作 $pull_date = array("menses.page"=> array("id" => $value['id'])); $this->update($where,$pull_date,true,'$pull'); } else { //修改 $set_page['menses.page.$.color'] = isset($value['color'])?intval($value['color']):0; $set_page['menses.page.$.time'] = strval($value['time']); if(isset($value['image']) && !empty($value['image'])) { if($value['image'] == '') { $set_page['menses.page.$.image'] = ''; } else { $set_page['menses.page.$.image'] = strval($value['image']); } } else { $set_page['menses.page.$.image'] = ''; } //$set_page['menses.page.$.image'] = isset($value['image'])?strval($value['image']):''; $set_page['menses.page.$.status'] = isset($value['status'])?intval($value['status']):0; $set_page['menses.page.$.timeline'] = time(); $where_aa = array("cuid"=>$cuid,"date"=>$menses['date'],"menses.page.id" => $value['id']); $update = $set_page; $this->update($where_aa,$update,true,'$set'); } } else { //添加 $add_page['id'] = (string)new MongoId(); $add_page['color'] = intval($value['color']); $add_page['time'] = strval($value['time']); if(isset($value['image']) && !empty($value['image'])) { if($value['image'] == '') { $add_page['image'] = ''; } else { $add_page['image'] = strval($value['image']); } } else { $add_page['image'] = ''; } //$add_page['image'] = isset($value['image'])?strval($value['image']):''; $add_page['status'] = isset($value['status'])?intval($value['status']):0; $add_page['timeline'] = time(); $update = array("menses.page"=>$add_page); $this->update($where,$update,true,'$push',true); } }
mongo的insert和save比较的更多相关文章
- mongodb insert()、save()的区别
mongodb 的 insert().save() ,区别主要是:若存在主键,insert() 不做操作,而save() 则更改原来的内容为新内容. 存在数据: { _id : 1, " ...
- laravel insert 、save、update、create区别(总结二)
1.insert:插入数据时,需要维护 created_at 和 updated_at字段, 2.save:无论插入或者更新,会自动维护,无需手动操作 //插入: public function st ...
- 关于python中使用mongodb模块,save和insert的小问题
今天写python脚本的时候发现这样一个问题: import os , string , datetime ,pymongo; conn = pymongo.Connection("127. ...
- Mongo 专题
什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供 ...
- mongo 增删改查
1. use foobar2. show dbs3. show collections4. db.system.indexes.find()5. db.persons.find()6. db.pers ...
- MongoDB - MongoDB CRUD Operations, Insert Documents
MongoDB provides the following methods for inserting documents into a collection: db.collection.inse ...
- mongo基础---增删改查
正文 MongoDB 是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系型数据库和非关系数据库之间的产品,是非关系数据 ...
- Mongo学习记录
引子 最近做项目利用mongo记录的日志做数据统计.着了非关系型数据库的迷,于是乎买了本<MongoDB实战>学习了一番.记录一下学习笔记,共享之. 准备 我在自己的Linux服务器上装了 ...
- ListView控件的Insert、Edit和Delete功能第三部分(自我总结)
1.刚开始在第一部分显示数据的时候出现如下错误: 修改: @Page 中的EnableEventValidation="false" 2.点击各个按钮没有反应. 修改:为page_ ...
随机推荐
- 导航控制器(UINavigationController)
一.导航控制器基础 1.导航控制器的组成 i.中间视图 ii.导航栏 iii.工具栏 2.配置一个导航界面 a.配置一个导航界面最重要的部分就是配置被包含的视图控制器. b.当它所属的视图控制器在导航 ...
- C#读取xlsx文件Excel2007
读取Excel 2007的xlsx文件和读取老的.xls文件是一样的,都是用Oledb读取,仅仅连接字符串不同而已. 具体代码实例: public static DataTable GetExcelT ...
- scan的filter使用
本次操作的hbase的t1表的数据是: hbase(main)::> scan 't1' ROW COLUMN+CELL column=f1:age, timestamp=, value= co ...
- 百度搜索API v3版本与soap
技术文档请参考http://dev2.baidu.com/docs.do?product=2#page=File,和http://dev2.baidu.com/docs.do?product=2#pa ...
- NLP自然语言处理学习笔记三(集成开发环境)
前言: 我们在做自然语言学习的过程中使用Python进行编程.是用解析器的方式确实有些麻烦.在这里给大家推荐一款集成开发环境IDE可以很方便的对Python进行项目管理,代码自动提示,运行调试等. 简 ...
- 在MAC OS 下配置python + Flask ,并支持pyCharm编辑器
原创咯- flask是一个micro framework ,伸缩性很强.可以部署到openshift 的PAAS里.这个框架上手非常快.喜欢的可以试试. 若实在MAC里,python已经默认安装了.1 ...
- EmguCV学习——简单算法 差分与高斯
公司项目需要检测运动物体,我对opencv也没啥研究,google了好久看了好多方法,最简单的就是差分与高斯背景建模了. 旁边搞c++的同事正在搞更nb的算法,等出来了 我再转成C#版的分享. 先看差 ...
- 快速同步mysql数据到redis中
MYSQL快速同步数据到Redis 举例场景:存储游戏玩家的任务数据,游戏服务器启动时将mysql中玩家的数据同步到redis中. 从MySQL中将数据导入到Redis的Hash结构中.当然,最直接的 ...
- linux kernel同步机制的思考
在学习内核同步机制的时候,书中介绍了同步方法:原子操作(atomic).自旋锁(spinlock).信号量(semaphore).互斥锁(mutex).完成变量(completion).大内核(BLK ...
- Newtonsoft.Json版本冲突时参考解决方案
如果同一项目中不同第三方类库分别使用了不同版本的Newtonsoft.Json的情况下,可以在配置文件中添加以下节点,将0.0.0.0-9.0.0.0此区间的Newtonsoft.Json使用全部强制 ...