为什么80%的码农都做不了架构师?>>>   

1、这里简单记录下模糊查询的操作方式:
命令行下:

db.letv_logs.find({"ctime":/uname?/i});

php操作

$query = array("name"=>new MongoRegex("/.*" . $var . ".*/i"));

$db->find($query);

2、Mongodb在PHP中的应用:

Insert:不需要添加数据之前先创建表,Mongodb会在Insert的时候自动创建。

例如我们需要创建一张用户(users)表,包含username, password, phone, age, address.

在执行Insert操作时,Mongogdb会自动生成一个“_id”,并将其保存到Mongo里。_id具有唯一性。

五个字段:username, password, phone, age, address

$params['username'] = 'Mongo';

$params['password'] = 'Mongo';

$params['phone']  = '15210394832';

$params['age']  = 10;

$params['address']  = '北京市';

$db = new Mongo();

$db->users->insert($params);

Update:修改数据

例如我们想要改变_id为51c410c53d289d607100010a的Username为MongoliaDb这里我们需要用到$set修改器

如果直接使用update($params),那么需要原来的所有数据必须存在数据,否则会直接改变原来的数据结果,但如果只想改变Mongo中的某一个值,那需要用到更新修改器,以$set为例

$params['username'] = 'MongoliaDb';

$db->users->update(array('_id'=>new MongoId('51c410c53d289d607100010a')), array('$set'=> $params));

remove:删除

Delete可以利用remove(condition) $db->users->delete(array('_id'=>new MongoId('51c410c53d289d607100010a'));

find()与findOne()查询符合扔条件的全部数据,和单独的一条

3、Mongodb应用之upsert:

在项目过程中,很多时候我们会遇到一种情况:当某条数据已经存在的话,我们就update,但是数据不存在的话,我们就会insert。所以每次遇到这种情况时我们都要反复的去Check一个,然后才能去update或insert。而Mongo在这里为我们提供了一种“upsert”处理方式,它会在更新的时候去检验是update还是insert,从而为我们节省了Check的时间。例如:

我们现在有一篇最新文章需要录入,但是不知道是否已经存在,如果存在就update,不存在就insert。这时我们就会用到了upsert。以PHP操作为实例:

$db->article->update(array('title'=>'xxx'), array('title'=>'xxx', 'content'=>'xxxx',...), true);其中参数true表示是使用upsert模式。如果没有true的参数的话,就会默认更新数据。

4、Mongodb应用之$in(待续)

$in 可以查询一个键的多个值。我们经过看到根据某个字段多个值去取数据,比如说,取某字段值为1,22,40的信息。如果是Mysql的话,我们都知道会用in关键字,
select * from table where id in (1,22,40);但是在Mongo里面呢,同样,也提供了$in的用法,与mysql中in的用法大同小异(以PHP语言为准)。
$db->article->find(array('id'=>array('$in'=>array(1,22,40))));这样就会取出id为1,22,40的信息了。

转载于:https://my.oschina.net/900924/blog/144836

MongoDB应用记录相关推荐

  1. mongodb 安装记录 2017年11月21日

    mongodb 安装记录 问题 – 1 install window server 失败 [ 2017年11月21日 ] – 使用命令为: mongod --logpath "D:\Mong ...

  2. Linux下操作MongoDB命令记录

    Linux下操作MongoDB命令记录 1.进入到MongoDB的目录下 cd /usr/local/mongodb/mongodb-linux-x86_64/bin 2.在bin目录下启动服务 ./ ...

  3. MongoDB笔记记录(雷哥课堂)–基本命令

    MongoDB笔记记录(雷哥课堂)–基本命令 3 常用命令 3.1 数据库操作 3.1.1 选择和创建数据库 use 数据库名称 如果数据库不存在就自动创建,如果存在则选择该数据库 以下数据库名是保留 ...

  4. MongoDB 安装记录

    之前使用一直没记录,防再次掉坑,记录下 echo 开始 D: cd D:\Program Files\MongoDB\Server\3.2\binmongod --install --serviceN ...

  5. MongoDB学习记录:入门(一)——五叶草

    预热看我之前的文章Node学习记录: mongodb 这个系列旨在系统的学习Mongodb 部分图片来自慕课网mongodb入门截图 学习目标 MongoDB官网:https://www.mongod ...

  6. mongodb如何记录慢查询

    MongoDB支持对DB的请求进行profiling,目前支持3种级别的profiling. 0: 不开启profiling 1: 将处理时间超过某个阈值(默认100ms)的请求都记录到DB下的sys ...

  7. MongoDB学习记录

    文章目录 基本 CURD 增删改查 insert 更新 覆盖更新 局部修改 自增 `inc` 更新多条 删表 分页 排序 正则表达式查询 比较查询 条件查询 `and` 和 `or` 索引 1. 单字 ...

  8. MongoDB 学习记录

    这里写目录标题 MongoDB 基础 什么是MongoDB ? MongoDB基本概念 MongoDB 应用场景 MongoDB 特性及优势 MongoDB 安装 cmd命令增删改查 索引 索引命令 ...

  9. MongoDB笔记记录(雷哥课堂)--mongodb介绍

    1 MongoDB介绍 1.1 应用场景 传统的关系型数据库(如MySQL),在应对当下互联网产品的某些需求面前,显得力不从心 数据库高写入负载需求 对海量数据的高效率存储和读取 对数据库的高扩展性的 ...

  10. MongoDB笔记记录(雷哥课堂)–索引

    4 索引 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文档并选取那些符合查询条件的记录. 这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时, ...

最新文章

  1. CentOS 7本地镜像部署NFS服务
  2. c 连接mysql总是失败_Windows 下用C++连接MYSQL失败
  3. [HTML5实现人工智能]小游戏《井字棋》发布,据说IQ上200才能赢
  4. vue - webpack.dev.conf.js for FriendlyErrorsPlugin
  5. 黑群晖二合一安装不了套件_黑群晖刷机教程
  6. linux batch date,BatchDate官方版
  7. Linux内核加载f2fs,固态硬盘使用f2fs文件系统作为deepin引导分区经验
  8. 消息队列——ActiveMQ使用及原理浅析
  9. 惊心动魄的句子、帅帅酷酷的话
  10. No Bootable Device 问题解决(由于误删ESP分区导致)
  11. Python IDLE的下载,安装和使用
  12. 手机便签记事本下载,好用的手机便签记事本软件
  13. 电脑上的记账本,添加无限个账户记录
  14. 淘宝补单怎么防止降权?如何避免降权?
  15. git创建本地仓库和github仓库
  16. SAP 评估收货结算(ERS)
  17. 百度地图API详解之地图标注(一)
  18. WiFi(Wireless Fidelity)基础(四)
  19. 2D/3D文档查看器ABViewer v12大大提高了PDF转DWG的速度
  20. 智慧城市同城V4 v2.1.5 同城小程序 同城信息

热门文章

  1. HTML5工程师利用原生js开发百度搜索黑洞漩涡特效
  2. 2017年mysql考试时间_2017年计算机二级考试时间是哪一天
  3. 项目中报Assign array to a variable before exporting as module default 这个错
  4. 移动侦测/周界入侵检测视频录像如何通过国标GB28181协议视频平台EasyGBS进行弹出告警
  5. Spring 框架的学习心得
  6. 联想锁屏壁纸缓存文件夹目录
  7. 在创建生成WIFI二维码手机扫码链接
  8. “飞思卡尔”杯全国大学生智能车竞赛
  9. VOCALOID笔记
  10. centOS下mysql主从配置