crud是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。crud主要被用在描述软件系统中数据库或者持久层的基本操作功能。

一、创建操作

创建或插入操作即向 集合 collection 添加新的 文档 documents。如果插入时集合不存在,插入操作会创建该集合。

MongoDB中提供了以下方法来插入文档到一个集合:

db.collection.insert()

db.collection.insertOne()

db.collection.insertMany()

在MongoDB中,插入操作作用于单个 集合collection 。MongoDB中所有的写操作在单个 集合 document 的层级上是 原子性

1、db.collection.insert()

db.collection.insert() 向集合插入一个或多个文档.要想插入一个文档,传递一个文档给该方法;要想插入多个文档,传递文档数组给该方法.

如下的示例向 users 集合插入了一个新的文档.新的文档有三个字段 name,``age``,和 status.由于该文档未指定 _id 字段,MongoDB 向该文档添加了值为 ObjectId_id 字段

2、db.collection.insertOne()

如下的示例向 users 集合插入了一个新的文档.新的文档有三个字段 name,``age``,和 status.由于该文档未指定 _id 字段,MongoDB 向该文档添加了值为 ObjectId_id 字段

db.users.insertOne(
   {
      name: "sue",
      age: 19,
      status: "P"
   }
)

3、db.collection.insertMany()

如下的示例向 users 集合插入了一个新的文档.新的文档有三个字段 name,``age``,和 status.由于该文档未指定 _id 字段,MongoDB 向该文档添加了值为 ObjectId_id 字段

db.users.insertMany(
   [
     { name: "bob", age: 42, status: "A", },
     { name: "ahn", age: 22, status: "A", },
     { name: "xi", age: 34, status: "D", }
   ]
)

二、读取操作

读操作获取 集合 collection 中的 文档 documents ;例如查询一个集合中的文档。MongoDB提供了如下方法从集合中读取文档:

db.collection.find()

你可以指定 条件或者过滤器 找到指定的文档.

db.users.find(                   <---------- collection                集合

{age:{$gt:18}},                  <---------- query criteria          查询条件

{name:1,address:1}          <---------- projection               查询内容

).limit(5)                             <---------- cursor modifier

三、更新操作

更新操作修改 集合 collection 中已经存在的 文档 documents。MongoDB提供了以下方法去更新集合中的文档:

1)db.collection.update()

2)db.collection.updateOne()

3)db.collection.updateMany()

4)db.collection.replaceOne()

在MongoDB中,更新操作作用于单个集合。MongoDB中所有的写操作在单个 文档 document 层级上是 原子性的.

你可以指定条件或过滤器来找到要更新的文档。这些 过滤器 的使用与读操作一样的语法。

db.users.update(

{age:{$gt:18}},

{$set:{status:"A"}},

{multi:true}

)

四、删除操作

删除是从一个集合中删除文档的操作。MongoDB提供下列方法从集合删除文档。

1)db.collection.delete()

2)db.collection.deleteOne()

3)db.collection.deleteMany()

在MongoDB中。删除作作用于单个集合。MongoDB中所有的写操作在单个 文档 document 层级上是 原子性的

你可以指定条件或过滤器来找到要删除的文档。这些 过滤器 的使用与读操作一样的语法。

db.users.delete(

{status:"D"}

)

remove已经过时了

db.col.remove({'title':'MongoDB 教程'})

MongoDB CRUD 操作的更多相关文章

  1. Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作

    2 Mongodb CRUD 操作 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mong ...

  2. MongoDB CRUD 操作手册

    基本操作 增加 在MongoDB中通过db.collection.insert()来增加新的数据. db.users.insert({username:"Jack",age:30} ...

  3. 【翻译】MongoDB指南/CRUD操作(二)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...

  4. 【翻译】MongoDB指南/CRUD操作(一)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...

  5. 【翻译】MongoDB指南/CRUD操作(四)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...

  6. 【翻译】MongoDB指南/CRUD操作(三)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...

  7. MongoDB的CRUD操作

    1. 前言 在上一篇文章中,我们介绍了MongoDB.现在,我们来看下如何在MongoDB中进行常规的CRUD操作.毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作. MongoDB中的 ...

  8. Spring Data MongoDB 一:入门篇(环境搭建、简单的CRUD操作)

    一.简介 Spring Data  MongoDB 项目提供与MongoDB文档数据库的集成.Spring Data MongoDB POJO的关键功能区域为中心的模型与MongoDB的DBColle ...

  9. mongodb 数据操作CRUD

    链接到mongo 新建超级用户 上文中我们提到mongo用户库表管理.为了方便我们先新建一个root权限的用户. db.createUser({user:'dbadmin',pwd:'123456', ...

随机推荐

  1. PAT(B) 1042 字符统计(Java)字符串 正则表达式 统计

    题目链接:1042 字符统计 (20 point(s)) 题目描述 请编写程序,找出一段给定文字中出现最频繁的那个英文字母. 输入格式 输入在一行中给出一个长度不超过 1000 的字符串.字符串由 A ...

  2. AVR单片机教程——烧写hex文件

    每一次build项目,编译器都会生成多个文件,其中有一个就是hex文件.之前在IDE中配置的external tools,就是把这个hex文件烧写到单片机中去的. 然而,有些时候你想运行别人的程序,但 ...

  3. 【并发】9、借助redis 实现生产消费,消息订阅发布模式队列

    这个就是一个消息可以被多次消费的范例了 其实这个实现的方式可以参考我之前的设计模式,观察者模式 https://www.cnblogs.com/cutter-point/p/5249780.html ...

  4. SQL 注入攻击案例

    一.检测注入点 二.判断是否存在 SQL 注入可能 三.数据库爆破 四.字段爆破 五.数据库表爆破 六.用户名.密码爆破 七.总结 一.检测注入点 首先,在 http://120.203.13.75: ...

  5. 在论坛中出现的比较难的sql问题:39(动态行转列 动态日期列问题)

    原文:在论坛中出现的比较难的sql问题:39(动态行转列 动态日期列问题) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉 ...

  6. Android SDK版本号 与 API Level 对应关系 201911

    API是开发用的,所以API LEVEL可以认为是内部的:而SDK的版本提供了新特性给用户,是外部可见的. 可以查看以下网址以获取最新的对应关系:  http://developer.android. ...

  7. SQL Sever 刪除重複數據只剩一條

    use book go create table ##T1( n int, a nvarchar(20) ) --查詢重複記錄,插入臨時表 insert into ##T1(n,a) select s ...

  8. 字符串replace的理解和练习和配合正则表达式的使用

    下面代码展示了(demo地址 https://codepen.io/peach_/pen/jONJjRY): 1.字符串replace的理解和练习和配合正则表达式的使用, 2.正则表达式学习 3.通过 ...

  9. H5表单新特性

    1.HTML5表单新特性之——新的input type <input type=" "> HTML5之前已有的input type: text.password.rad ...

  10. ABAP-JCO服务端连接问题

    公司网络服务加域,若SAP服务器后端未配置端口号映射,则外部服务器注册JCO服务监听需要调整 # server jco.server.connection_count=5 jco.server.gwh ...