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. memset 导致的一个段错误

    原型: void *memset(void *s, int c, size_t n); 解释: memset :是 逐字节 拷贝,即n是指整个变量所占字节,在用于数组时一定要注意n不一定是 数组元素. ...

  2. 2019ICPC南昌现场赛总结

    非常可惜的一场比赛,多了60分钟罚时与银牌无缘.今年6场ICPC网络赛里面打的最差的就是南昌站,冥冥之中自有天意吧,最后被安排去了南昌. 开场被队友叫去先看的L,说是足球,发现就是简单模拟,就直接上机 ...

  3. 根据IP获取国家,市区,经纬度等的免费库

    https://dev.maxmind.com/geoip/geoip2/geolite2/ 此网站上有提供SDK版,访问在线服务,也有离线版,下载库到本地,使用相应语言解析库

  4. Centos7+puppet+foreman,模板介绍

    一.简介 provision templates 是灵活部署合适的操作系统的核心,模板包括有好几类 1.模板种类 pxe相关的模板,比如pxelinux,pxegrub,pxegrub2 kickst ...

  5. Spring Cloud Alibaba学习笔记(5) - 整合Sentinel及Sentinel规则

    整合Sentinel 应用整合Sentinel 在dependencies中添加依赖,即可整合Sentinel <dependency> <groupId>com.alibab ...

  6. java redisUtils工具类很全

    GitHub地址:https://github.com/whvcse/RedisUtil redisUtils工具类: package com.citydo.utils; import org.spr ...

  7. maven一些简单常用却容易记混的命令参数-U -e -B

    install 命令完成了项目编译.单元测试.打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程Maven私服仓库: deploy 命令完成了项目 ...

  8. NRF52832 Mesh调试,使其同时支持串口打印和RTT打印

    查看开发环境里面,是否有这个文件,如果没有你的话,则添加文件. 然后要在sdk_config.h中添加使能 然后打开刚才添加的文件retarget.c,主意里面这些地方 这里它进行判断,要么使用RTT ...

  9. ReLU函数的缺陷

    ReLU激活功能并不完美. 它有一个被称为 “ReLU 死区” 的问题:在训练过程中,一些神经元会“死亡”,即它们停止输出 0 以外的任何东西.在某些情况下,你可能会发现你网络的一半神经元已经死亡,特 ...

  10. Python中闭包的原理

    定义: 如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure). 简单闭包的例子: 下面是一个使用闭包简单的例子,模拟一个计数器,通过将 ...