接着学习一下mongodb的基本的CRUD

  先列出基本知识点,再给出相关的例子

  增:语法: db.collectionName.insert(document);

  1: 增加单篇文档,不指定_id时会自动生成一个_id

  db.collectionName.insert({title:’nice day’});

  2: 增加单个文档,并指定_id

  db.collectionName.insert({_id:8,age:78,name:’lisi’});

  3:增加多个文档

  db.collectionName.insert([

  {time:'friday',study:'mongodb'},

  {_id:9,gender:'male',name:'QQ'}

  ]);

1. 

2. 

3. 

  删:语法: db.collection.remove(查询表达式, 选项);选项是指  {justOne:true/false},是否只删一行, 默认为false

  注意

  1: 查询表达式依然是个json对象

  2: 查询表达式匹配的行,将被删掉.

  3: 如果不写查询表达式,collections中的所有文档将被删掉.

  例1: db.stu.remove({sn:’001’});

  删除stu表中 sn属性值为’001’的文档

  例2: db.stu.remove({gender:’m’,true});

  删除stu表中gender属性为m的文档,只删除1行.

  删除全部(清空表)

  

  删除单条数据

  

  删除全部匹配

   

  改:语法: db.collection.update(查询表达式,新值,选项);

  db.news.update({name:'QQ'},{name:'MSN'});

  结果: 文档中的其他列也不见了,改后只有_id和name列了.

  即--新文档直接替换了旧文档,而不是修改 

  修改时的赋值表达式

  $set  修改某列的值

  $unset 删除某个列

  $rename 重命名某个列

  $inc 增长某个列

  $setOnInsert 当upsert为true时,并且发生了insert操作时,可以补充的字段

  Option的作用:

  {upsert:true/false,multi:true/false}

  Upsert---是指没有匹配的行,则直接插入该行.(和mysql中的replace一样)

  multi:指是否作用于多行,默认为false

  这是用新文档代替旧文档

  这是更新操作

  这是一个综合操作

  作用于多行

  如果发生了新增操作,在插入要修改列的基础上,还会插入setOnInsert的列

  查: find, findOne:语法: db.collection.find(查询表达式,查询的列);

  查询所有列

  查询指定列,默认会查出_id列

  查指定列,不查_id列

  查指定条件下的指定列

Normal
0

7.8 磅
0
2

false
false
false

EN-US
ZH-CN
X-NONE

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}

mongodb基础学习2-基本CRUD的更多相关文章

  1. MongoDB基础学习

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  2. mongodb基础学习8-复制集

    今天来简单学习一下复制集(replication),什么是复制集呢,类似于mysql的主从复制吧 简单来说就是有多个mongodb的实例,多个实例有相同的内容,其中一台用于读写,其它用于备份,当用于读 ...

  3. mongodb基础学习1-基本说明及安装

    以前看过一些mongodb的视频,但只看到一半没有看完,也没有同步安装软件动手操作,正好最近没事,打算花点时间从头学习一遍,边学习边动手操作,学习的过程在此进行记录. 好了,下面说一下今天的学习内容. ...

  4. MongoDB基础学习(一) MongoDB概念解析

    .基础概念 SQL术语/概念 MongoDB术语/概念 说明 database database 数据库 table collection 数据表/集合 row document 数据记录行/文档 c ...

  5. mongodb基础学习7-备份与恢复

    下面来讲讲mongodb的备份与恢复 备份可以备份为二进制格式,如果是用于数据交换,可以备份成json或cvs格式 导入/导出可以操作的是本地的mongodb服务器,也可以是远程的. 所以,都有如下通 ...

  6. mongodb基础学习6-用户管理

    下面来说一下用户管理,前面对mongodb进行操作都无需用户名密码进行登陆,可以设置用户进行数据库的访问 添加用户:三个参数:用户名,密码,是否只读 开启权限验证 进行验证 修改密码 删除用户 用户角 ...

  7. mongodb基础学习4-游标

    今天来讲讲游标的操作,可以先获取一组文档,再对每一个文档进行操作. 因为mongodb底层是js引擎,所有可以像操作js一样操作mongodb,比如插入数据 游标的使用:声明游标,判断是否有下一条数据 ...

  8. Mongodb基础 学习小结

    MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能 ...

  9. MongoDB 基础学习

    1.MongoDB 概念解析 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row docume ...

随机推荐

  1. 01.ubuntu14.04安装HI3518EV200 SDK的过程

    转载,侵删 1.海思SDK安装编译 Hi3518EV200_SDK是基于Hi3518EV200_DMEB的软件开发包,包含了在Linux相关应用开发时使用的各种工具及其源代码,是用户开发中最基本的软件 ...

  2. FastAdmin 开发环境详细设置

    一图胜千言 FastAdmin开发环境 Windows 网页安装 鼠标点点就可以了,不用说明. 命令行安装 环境准备 装有 Windows 7 的PC .(这是一句废话,不用理这句.) 服务器软件 A ...

  3. 设置新时间校正服务器NTP SERVER

    时间校正服务器IP : 10.*.*.* 适用系统:windows server 2008/windows 7 net stop w32time net start w32time w32tm /qu ...

  4. LOJ 121 「离线可过」动态图连通性——LCT维护删除时间最大生成树 / 线段树分治

    题目:https://loj.ac/problem/121 离线,LCT维护删除时间最大生成树即可.注意没有被删的边的删除时间是 m+1 . 回收删掉的边的节点的话,空间就可以只开 n*2 了. #i ...

  5. C# List的深复制(转)

    C# List的深复制 1.关于深拷贝和浅拷贝 C#支持两种类型:值类型和引用类型 值类型(Value Type):如 char, int, float,枚举类型和结构类型 引用类型(Referenc ...

  6. golang kafka client

    针对golang的 kafka client 有很多开源package,例如sarama, confluent等等.在使用sarama 包时,高并发中偶尔遇到crash.于是改用confluent-k ...

  7. IO测试工具之fio详解(转)

    http://www.cnblogs.com/raykuan/p/6914748.html 目前主流的第三方IO测试工具有fio.iometer和Orion,这三种工具各有千秋. fio在Linux系 ...

  8. linux 信号处理 四

    一.信号生命周期 从信号发送到信号处理函数的执行完毕 对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画:信号诞生:信号在进程 ...

  9. java newInstance() 的参数版本与无参数版本详解

    newInstance() 的参数版本与无参数版本详解 博客分类: Core Java   通过反射创建新的类示例,有两种方式: Class.newInstance() Constructor.new ...

  10. AsyncTask使用详细说明

    AsyncTask使用: 在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行.在单线程模型中始终要记住两条法则: 1. 不要 ...