MongoDB 之 手把手教你增删改查 MongoDB - 2

我们在  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)了

原文地址:https://www.cnblogs.com/itzhangxuhui/p/11263164.html

时间: 2024-10-15 16:23:26

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

MongoDB 笔记一--MongoDB基本环境配置及增删改查;

一.基本环境配置: 1,首先到官网(http://www.mongodb.org/downloads )下载合适的安装包,然后一步一步next安装,当然可以自己更改安装目录:安装完成之后,配置环境变量,找到安装目录下的bin文件夹,在电脑环境变量里,加入其路径(D:\MongoDB\bin,我安装在D盘内): 2,建立一个用于存放数据库文件的目录:windows默认使用C:\data\db作为数据目录.但是在安装过程中,不会自动建立文件或者文件夹,需要自己创建.当然我们也可以在系统的任意位置创建

MongoDB 3.0.6 安装 增删改查

下载 安装包MSI http://yunpan.cn/cmhHdTPkXZRM2  访问密码 9b6c 上边提供的是 MongoDB 3.0.6 64Bit 的安装包 安装 如果不想直接安装在C盘..就要选择自定义安装喽.. 就是选择全部安装和自定义的那一步..全部安装是默认安装C盘的.. 我这里是安装到 D:\Program Files\MongoDB\MongoDB 的.. 需要在 D:\Program Files\MongoDB 下新建 Log 文件夹..并在Log下建立 Log.txt

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

前言 从在本机(win8.1)环境安装相关环境到做完这个demo大概不到两周时间,刚开始只是在本机安装环境并没有敲个Demo,从周末开始断断续续的想写一个,按照惯性思维就写一个增删改查吧,一方面是体验下node.js的魔力,二就是看看node.js.express和mongoose的API,其次就是把自己入门的过程记录下来,方便自己查看,再就是对入门的朋友起一个引导的作用. 敲demo的过程中感觉最爽的就是npm(Node Package Manager)是一个Node.js的包管理和分发工具.

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

Windows下MongoDB的安装和配置.启动和停止 下载地址:MongoDB的官方下载网址是:https://www.mongodb.org/downloads 安装步骤1. 点击下载的mongodb-win32-x86_64-2008plus-ssl-3.0.4-signed.msi,下一步,下一步over. 安装步骤2. 我这里是默认安装路径,复制路径: C:\Program Files\MongoDB\Server\3.0\bin 打开cmd窗口,输入以下命令 1.> cd C:\Pr

MongoDB:最简单的增删改查(Oops,可能太简单了)

热身运动: 1. 启动MongoDB shell => mongo.exe or ./mongo(先确保有一个mongod的实例): 2. 切换到一个用于练手的namespace => use xxxxxxx: 增: db.[table].insert({[field]: [value]}) 查: db.[table].find() 改: db.[table].update({[key]: [value]}, {$set: {[field]: [value]}} 删: db.[table].r

Go MongoDB官方数据库驱动之增删改查

package main import ( "context" "fmt" "log" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) // Trainer type is used for later

mongodb之一些简单的增删改查语句

数据库操作:show dbs;#查看数据库use test;#如果没有就创建一个db;#查看当前数据库db.dropDatabase();#删除数据库 数据操作:show collections:#查看集合创建集合.插入:create collection;#创建集合db.student.insert({"name":"张三","age":"22","sex":"男","cla

MongoDB数据库的操作,增删改查

在student集合中插入一些数据 db.student.insert({ "学号":10010, "姓名":"德莱文", "年龄":26, "地址":"淄博市" }); var stuData1={ "学号":10020, "姓名":"奥巴马", "年龄":27, "地址":"

mongodb基础(2)增删改查

1. 原文地址:http://blog.51cto.com/13813317/2175817