我们在  MongoDB 之 你得知道MongoDB是个什么鬼 MongoDB - 1  中学习了如果安装部署一个 MongoDB

如果没看到我的金玉良言的话,就重新打开一次客户端和服务端吧

本章我们来学习一下关于 MongoDB的增删改查

一.MongoDB操作 之 原生ORM,根本不存在SQL语句

创建数据库:这里和一般的关系型数据库一样,都要先建立一个自己的数据库空间

嗯嗯嗯嗯,我感受到了你内心的惊呼,瞅瞅你们这些没见过世面的样子

是的,MongoDB设计的比较随意,没有就认为你是在创建,use LuffyCity_Com是不存在的,所以MongoDB就认为你是要创建并使用

这个概念一定要记清楚哦,MongoDB中如果你使用了不存在的对象,那么就等于你在创建这个对象哦

使用了不存在的对象,就代表创建对象,我们使用这一谬论创建一张表(Collection)试试

看来真的不是谬论,真的成功的创建了一个Oldboy的Collection

那么接下来就是在表(Collection)中添加一条数据了,怎么添加呢?

二.MongoDB 之 插入数据(insert     insertOne     insertMany) 之 Collection 点儿出一切操作 之 insert

insert:插入一条或者多条数据,需要带有允许插入多条的参数,这个方法目前官方已经不推荐喽

db.Oldboy.insert({"name":"DragonFire","age":20})

insertOne: 插入一条数据,官方推荐

我们可以看出来两种方法的返回值截然不同对吧

insertMany:插入多条数据,无需参数控制,官方推荐

这就是我们向LuffyCity_Com.Oldboy中插入了多条数据:

[{
"name":"DragonFire",
"age":20
},
{
 "name":"WuSir",
 "age":19
}]

这里留下一个数据类型的悬念

插入完成就要查询

三.MongoDB  之  查询数据(find findOne) 之 这里没有findMany

这里不是select,如果你的第一反应是select 证明你关系型数据库没白学

find() 无条件查找:将该表(Collection)中所有的数据一次性返回

db.Oldboy.find({name:"WuSir2b"}) 条件查找:name等于WuSir2b的数据,这里会返回多条结果

说到这里,有的同学不禁要问一下:"_id":ObjectId("乱七八糟一道对看着毫无关系的一对字符串") 是什么,我们插入的时候并没有一个字段(Field)并没有_id这个,

对了这就是MongoDB自动给我们添加到系统唯一标识"_id" 是一个ObjectId 类型,我们会在数据类型中第一个说到他(MongoDB 之 数据类型 最无聊! But 最有用! MongoDB - 3)

findOne()无条件查找一条数据,默认当前Collection中的第一条数据

findOne({age:19}) : 条件查找一条age等于19的数据,如有多条数据则返回更靠前的数据

查询数据的时候,发现了有些数据出现错误了,要修改怎么办呢?

四.MongoDB 之 修改数据(update updateOne updateMany) 之 跟insert一样,不推荐update的写法

update({"name":"DragonFire"},{$set:{"age":21}}):根据条件修改该条数据的内容

把name等于DragonFire中的age改为21,这里要注意的是({"条件"},{"关键字":{"修改内容"}}),其中如果条件为空,那么将会修改Collection中所有的数据

关于$set关键字的解释就是,本节最后再说,留个悬念

updateOne({"age":19},{$set:{"name":"WSSB"}}):根据条件修改一条数据的内容,如出现多条,只修改最高前的数据

把age等于19的所有数据中第一条数据的name改为WSSB

updateMany({"age":19},{$set:{"name":"pig_qi"}}):根据条件修改所有数据的内容,多条修改

把age等于19的所有数据中的name改为WSSB

上述中有一个$set的悬念,这个悬念呀,可能要留到再往后一些了

但是$set:{"name":"WSSB"}我还是要解释一下: $set 是update时的关键字,表示我要设置name属性的值为"WSSB"

那么我们之前说过MongoDB的灵活性,没有就代表我要创建,所以说如果该条Documents没有name属性,他就会自动创建一个name属性并且赋值为"WSSB"

更改了半天,我觉得,这些数据我都不想要了,该怎么办呢?

四.MongoDB  之  删除数据(remove) 之 如果你什么都不写,你讲失去全部的生命力

remove({}):无条件删除数据,这里要注意了,这是删除所有数据,清空Collection

当然了,我现在还不会操作,你看到的截图是我全部都写完之后的截图,如果跟着操作的话,那么你实在是太傻了,哈哈哈哈哈哈哈哈

如果你的数据全没了,那么请再练习一次insertMany([{"name":"DragonFire"}])吧,你多练习一次,总比马上忘记要强吧

remove({"name":"DragonFire"}) : 条件删除name等于"DragonFire"的所有Document

那么到这里呢,增删改查就已经完事儿了

之后我们来说一下MongoDB的数据类型,跟你们透漏一下,MongoDB的数据类型,老(te)有(bie)意(wu)思(liao)了

MongoDB 之 手把手教你增删改查 MongoDB - 2的更多相关文章

  1. Node.js、express、mongodb 入门(基于easyui datagrid增删改查)

    前言 从在本机(win8.1)环境安装相关环境到做完这个demo大概不到两周时间,刚开始只是在本机安装环境并没有敲个Demo,从周末开始断断续续的想写一个,按照惯性思维就写一个增删改查吧,一方面是体验 ...

  2. MongoDB的ObjectId和基本操作增删改查(3)

    ObjectId 基本操作增删改查 增: insert 介绍: mongodb存储的是文档,. 文档是json格式的对象. 语法: db.collectionName.insert(document) ...

  3. MongoDB 3.0.6 安装 增删改查

    下载 安装包MSI http://yunpan.cn/cmhHdTPkXZRM2  访问密码 9b6c 上边提供的是 MongoDB 3.0.6 64Bit 的安装包 安装 如果不想直接安装在C盘.. ...

  4. nodejs笔记五--MongoDB基本环境配置及增删改查;

    一.基本环境配置: 1,首先到官网(http://www.mongodb.org/downloads )下载合适的安装包,然后一步一步next安装,当然可以自己更改安装目录:安装完成之后,配置环境变量 ...

  5. MongoDB 数据库的概念以增删改查

    1,MongoDB概念解析: Mongo数据库基本概念是文档,集合,数据库,下表给予介绍 SQL术语概念 MongoDB术语概念 解释/说明 database database 数据库 table c ...

  6. egg 完整实例 增删改查MongoDB,websocket

    项目地址 github.com/richard1015… 技术栈 eggjs.MongoDB.swagger.websocket.Amap 演示地址: 前台 school.zhuzhida.vip A ...

  7. MongoDB简介,安装,增删改查

    MongoDB到底是什么鬼? 最近有太多的同学向我提起MongoDB,想要学习MongoDB,还不知道MongoDB到底是什么鬼,或者说,知道是数据库,知道是文件型数据库,但是不知道怎么来用 那么好, ...

  8. MongoDB下载安装与简单增删改查

    Windows下MongoDB的安装和配置.启动和停止 下载地址:MongoDB的官方下载网址是:https://www.mongodb.org/downloads 安装步骤1. 点击下载的mongo ...

  9. MongoDB学习day04--NodeJs操作数据库增删改查

    一.在Nodejs中使用Mongodb Nodejs需要引入的包 npm install mongodb --save -dev 或者使用镜像 cnpm install mongodb --save ...

随机推荐

  1. PAT甲题题解-1006. Sign In and Sign Out (25)-找最小最大

    判断哪个人最早到,哪个人最晚走水,就是找最大值最小值 #include <iostream> #include <cstdio> #include <algorithm& ...

  2. TeamWork#3,Week5,Release Notes of the Alpha Version

    在这里的是一款你时下最不可或缺的一款美妙的产品. “今天哪家外卖便宜?” “今天这家店在哪个网站打折?” “这家店到底哪个菜好吃?” 这些问题你在寝室/办公室每天要问几次?还在为了找一家便宜的外卖店而 ...

  3. Linux内核分析第一周——计算机是如何工作的

    冯诺依曼体系结构 核心思想 1.冯诺依曼是:数字计算机的数制采用二进制:计算机应该按照程序顺序执行. 2.采用二进制作为计算机数值计算的基础,以0.1代表数值.不采用人类常用的十进制计数方法,二进制使 ...

  4. 20135220谈愈敏Linux Book_5

    第五章 系统调用 内核提供了用户进程与内核进行交互的一组接口. 应用程序发出请求->内核负责满足 目的:保证系统稳定可靠 5.1 与内核通信 系统调用在用户空间进程和硬件设备之间添加了一个中间层 ...

  5. ElasticSearch 2 (13) - 深入搜索系列之结构化搜索

    ElasticSearch 2 (13) - 深入搜索系列之结构化搜索 摘要 结构化查询指的是查询那些具有内在结构的数据,比如日期.时间.数字都是结构化的.它们都有精确的格式,我们可以对这些数据进行逻 ...

  6. TCP/IP之蓟辽督师 转

    原创: 刘欣 码农翻身 2016-11-07 本文续<TCP/IP之大明内阁>, 不了解背景的同学可以先看看上一篇文章, 当然这篇也是<TCP/IP之大明邮差>的前传, 主要讲 ...

  7. SQLServer将一个表的数据导入到另一个表

    1.假如A表存在 insert into A(a,b,c) (select a,b,c from B) 2.假如A表不存在 select a,b,c into A from B 3.假如需要跨数据库 ...

  8. BZOJ4036 HAOI2015按位或(概率期望+容斥原理)

    考虑min-max容斥,改为求位集合内第一次有位变成1的期望时间.求出一次操作选择了S中的任意1的概率P[S],期望时间即为1/P[S]. 考虑怎么求P[S].P[S]=∑p[s] (s&S& ...

  9. log4j 相对路径

    参考: http://elf8848.iteye.com/blog/2008595 log4j.logger.ApiLog=debug,ApiLog log4j.appender.ApiLog=org ...

  10. P3000 [USACO10DEC]牛的健美操Cow Calisthenics

    题目描述 Farmer John continues his never-ending quest to keep the cows fit by having them exercise on va ...