我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MongoDB(2): 增删改操作

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MongoDB(2): 增删改操作

附加命令:

1、进入前端操作命令

./mongo [ip:端口]

说明:默认会自动选本地,端口27017

2、显示所有的库

> show dbs;   或者 show databases;

3、选择库

> use 库名;

4、显示库所有的集合

> show collections;  或者 show tables;

5、显示当前使用的库

> db;

一、操作数据库、文档

1.1、数据库操作

1、创建数据库:MongoDB没有专门创建数据库的语句,可以使用“use” 来使用某个数据库,如果要使用

的数据库不存在,那么将会创建一个,会在真正向该库加入文档后,保存成为文件。

> use db_test;

2、删除数据库,命令:db.dropDatabase(),注意先要进入到需删除的库

> use db_test;
switched to db db_test
> db.dropDatabase();
{ "ok" : 1 }
>

1.2、集合操作

1、创建集合:在MongoDB中不用创建集合,因为没有固定的结构,直接使用db.集合名称.命令 来操作就可以了。如果非要显示创建集合的话,用:db.createCollecion(“集合名称”);

2、删除集合,命令:dorp

> db.test1.drop();

1.3、查看集合的状态信息

db.集合名.stats();

二、增删改

2.1、添加

db.集合名称.insert(数据);

> db.test1.insert({"username":"zhangsan",age:2});

MongoDB(2): 增删改操作

insert方法,可以单独插入一个文档,也可以插入多个,用“[ ]”即可。注意:

  1:MongoDB会为每个没有“_id”字段的文档自动添加一个”_id”字段

  2:每个Doc必须小于16MB

  3:可以在shell中执行Object.bsonsize(文档名称);来查看size大小

    MongoDB(2): 增删改操作

2.2、删除

命令:remove,可以按条件来删除

只是删除文档,集合还在,如果使用 drop命令,会连带集合和索引都删掉

> db.test1.remove({age:2});

注意:如果使用remove没有带条件,则会删除此集合中所有的文档。

2.3、更新

db.集合名称. update(条件,新的文档[,boolean,boolean]);

> db.test1.update({"userId":"1"},{"userId":"1","username":"zhangsan","age":10});

MongoDB(2): 增删改操作

问题:

  1、这里如果有多个文档匹配,只会更新第一个文档。

  2、这个修改的是整个文档

解决:

  使用修改器


更新修改器,用来做复杂的更新操作

1:$set :指定一个字段的值,如果字段不存在,会创建一个

> db.test1.update({"userId":"1"},{"$set":{"username":"zhangsan"}},0,1);

说明:如果userId为1,则更新其username为zhangsan

MongoDB(2): 增删改操作

> db.test1.update({"userId":"1"},{$set:{"score.1":7}});

说明:更新数组score的索引为1的值为7,索引从0开始。

2:$unset :删掉某个字段

> db.test1.update({"userId":"1"},{"$unset":{"username":1}},0,1);

3:$inc :用来增加已有键的值,如果字段不存在,会创建一个。只能用于整型、长整型、或双精度浮点型的值。

> db.test1.update({"userId":"1"},{"$inc":{"age":3}},0,1);

说明:如果userId为1,则将其age的值增加3

4:$push:向已有数组的末尾加入一个元素,要是没有就新建一个数组

> db.test1.update({"userId":"1"},{"$push":{"score":1}},0,1);

MongoDB(2): 增删改操作

5:$each:通过一次$push来操作多个值

> db.test1.update({"userId":"1"},{"$push":{"score":{$each:[4,5,6]}}},0,1);

MongoDB(2): 增删改操作

6:$slice:限制数组只包含最后加入的n个元素,其值必须是负整数

> db.test1.update({"userId":"1"},{"$push":{"score":{$each:[7,8,9],$slice:-5}}});

MongoDB(2): 增删改操作

7:$sort:对数组中的元素,按照指定的字段来对数据进行排序(1为升序,-1为降序),然后再按照slice删除。

注意:不能只将$slice或者$sort与$push配合使用,且必须使用$each

> db.test1.update({"userId":"1"},{"$push":{"score":{$each:[1,2,3],$slice:-5,$sort:-1}}});

MongoDB(2): 增删改操作

8:$ne:判断一个值是否在数组中,如果不在则添加进去

> db.test1.update({"userId":"1","score":{$ne:4}},{$push:{"score":4}});

MongoDB(2): 增删改操作

9:$addToSet:将数组作为数据集使用,以保证数组内的元素不会重复

> db.test1.update({"userId":"1"},{$addToSet:{"score":8}});

10:$pop :从数组一端删除元素,{$pop:{key:1}},从末尾删掉一个,-1则从头部删除

> db.test1.update({"userId":"1"},{$pop:{score:1}});

11:$pull:按照条件来删除所有匹配的元素

> db.test1.update({"userId":"1"},{$pull:{score:7}});

12:$:用来修改第一个匹配的元素

> db.test1.update({"score.0":5},{$set:{"score.$":7}});

说明:如果score的第0个索引值为5,则更新score的第0个索引值为7


三、补充方法

3.1、save方法

如果文档存在就更新,不存在就新建,主要根据”_id”来判断。

添加:

  MongoDB(2): 增删改操作

更新:

  MongoDB(2): 增删改操作

3.2、upsert方法

找到了符合条件的文档就更新,否则会以这个条件和更新文档来创建一个新文档。

指定update方法的第三个参数为true,可表示是upsert

MongoDB(2): 增删改操作

3.3、更新多个文档

MongoDB默认只更新符合条件的第一个文档,要更新所有匹配的文档,把第4个参数

设置为true。注意:

 1:只能用在$XXX的操作中

 2:最好每次都显示的指定update的第4个参数,以防止服务器使用默认行为

3.4、查询更新了多少个文档

使用命令:getLastError ,返回最后一次操作的相关信息,里面的n就是更新的文

档的数量。形如:db.runCommand({"getLastError":1});

MongoDB(2): 增删改操作

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MongoDB(2): 增删改操作

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JDBC 增删改的操作(2)

JDBC 增删改的操作(2)一、项目使用技术? 上一次在JDBC增删改的操作(1)中StudentBasicDAOImpl实现类代码存在较多重复,将各个方法中相同代码进行向上抽取,以此减少代码的冗余,提高代码的复用性。二、使用实例?Student
JDBC 增删改的操作(2)
2018-09-20

nodejs如何操作mongodb进行增删改查

这篇“nodejs如何操作mongodb进行增删改查”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“nodejs如何操作mon
2023-07-05

Python操作MongoDB增删改查代码示例

python安装操作MongoDB的模块pymongopip install pymongopython连接mongodbmyclient=pymongo.MongoClient(host='127.0.0.1',port=27017
2022-12-21

Go使用MongoDB的操作指南(增删改查)

目录Go使用MongoDB应用指南安装 MongoDB安装 Go MongoDB 驱动连接 MongoDBCRUD 操作示例插入文档(Create)查询文档(Read)更新文档(Update)删除文档(Delete)1. 聚合管道2. 事务
Go使用MongoDB的操作指南(增删改查)
2024-08-23

nodejs操作mongodb的增删改查功能实例

本文实例讲述了nodejs操作mongodb的增删改查功能。分享给大家供大家参考,具体如下: 安装相关模块 如果使用这个的话,你需要先自己安装一下他需要的模块,在根目录输入npm install mongodb --save进行模块安装,安
2022-06-04

php如何使用mongodb进行增删查改操作

本文小编为大家详细介绍“php如何使用mongodb进行增删查改操作”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何使用mongodb进行增删查改操作”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、M
2023-07-05

Python+Xml +操作+增删改查

由于小编的系统需要进程间通信,想通过对Xml文件操作,来进行信息交互,于是写了一组相关的类。 xml文件: 2023-01-31

node.js操作mysql(增删改查)

最近这段时间研究Node感觉不错,自己做了一个增删改查,虽然有些简陋,但是思想是想通的,其实所有项目都是增删改查,有助于初学者快速掌握Node首先 本实例展示的是基于Node+Express+node-mysql快速搭建的一套增删改查,视图
2022-06-04

使用python怎么对MongoDB进行增删改查操作

这篇文章将为大家详细讲解有关使用python怎么对MongoDB进行增删改查操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、说明MongoDB使用查看数据的功能时非常方便。能立即看到增
2023-06-14

MySQL表的操作『增删改查』

✨个人主页: 北 海 🎉所属专栏: MySQL 学习 🎃操作环境: CentOS 7.6 阿里云远程服务器 🎁软件版本: MySQL 5.7.44 文章目录 1.创建表1.1
MySQL表的操作『增删改查』
2023-12-22

编程热搜

目录