一、数据库操作

显示现有的数据库,命令:show dbs 或者 databases;

示当前使用的数据库,命令:db

切换当前使用的数据库,命令:use 数据库名称

删除数据库,命令:db.dropDatabase()

二、Collection 操作

显示现有的集合,命令:show collections 或者 tables;

插入并保存文档 insert方法,可以单独插入一个文档,也可以插入多个,用“[ ]”即可,每个Doc必须小于16MB

db.user.insert({"user_id":"u1","score":});

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

db.user.remove({"user_id":"u1"});

db.user.drop();

文档替换,命令: db.集合名称. update(条件,新的文档);

db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。

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

db.user.update({"user_id":"u1"},{$set:{"name":"name1"}});

$unset :删掉某个字段

db.user.update({"user_id":"u1"},{$unset:"name"});

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

 db.user.update({"user_id":"u1"},{$inc:{"score":5}});

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

db.user.update({"user_id":"u1"},{$push:{"xueke":"hx"}});

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

db.user.update({"user_id":"u1"},{$push:{"xueke":{$each:["yy","gs"]}}});

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

db.user.update({"user_id":"u1"},{$push:{"xueke":{$each:["yy","gs"],$slice:-2}}}

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

db.user.update({"user_id":"u1"},{$push:{"xueke":{$each:["yy","yw","sx"],$slice:-4,$sort:-1}}});

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

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

db.user.update({"user_id":"u1","xueke":{$ne:"xd"}},{$push:{"xueke":"xd"}});

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

db.user.update({"user_id":"u1"},{$addToSet:{"xueke":"english"}});

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

 db.user.update({"user_id":"u1"},{$pop:{"xueke":}});

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

db.user.update({"user_id":"u1"},{$pull:{"xueke":"yy"}});

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

 db.user.update({"user_id":"u1"},{$set:{"xueke.1":"yy"}});

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

db.user.save({"_id":"ObjectId("5b5862e4ac45f21aabc51432")","user_id":"u2","name":"n2"});

MongoDB增删改的更多相关文章

  1. 数据库——MongoDB增删改查

    MongoDB增删改查操作 本文包含对数据库.集合以及文档的基本增删改查操作 数据库操作 #1.增 use config #如果数据库不存在,则创建并切换到该数据库,存在则直接切换到指定数据库. #2 ...

  2. MongoDB - 增删改查及聚合操作

    目录 MongoDB - 增删改查及聚合操作 一. 数据库操作(database) 1. 创建及查看库 2. 删除库 二. 集合collectionc=操作(相当于SQL数据库中的表table) 1. ...

  3. [MongoDB]增删改查

    摘要 上篇文章学习了mongodb在windows上的安装,以及如何开启mongodb,最后列举了简单的增删改查操作.本篇将继续深入学习一下增删改查. 相关文章 [MongoDB]入门操作 CRUD ...

  4. springMVC操作mongoDB增删改查

    下面是mongoDb简单的增删改查(新闻类) 附:query.addCriteria(Criteria.where("modelId").ne("").ne(n ...

  5. 第二部分 Mongodb增删改查

    学习内容:1.mongodb增加操作2.mongodb删除操作3.mongodb查询操作增删改查的高级应用Capped Collection(固定集合)GridFS 大文件上传或下载 1: inser ...

  6. MongoDB(六)java操作mongodb增删改查

    java操作mysql数据库的代码我们已经了如指掌了.增删改查,java对mongodb数据库也是类似的操作,先是数据库连接.再是进行操作. 首先我们进入进入admin数据库.然后建立自己的数据库te ...

  7. MongoDB增删改查表文档

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,是一个基于分布式文件存储的开源数据库系统.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关 ...

  8. mongodb增删改查操作

    Note:mongodb存储的是文档,且文档是json格式的对象,所以增删改查都必须是json格式对象. 注:mongodb常用库和表操作,但mongodb在插入数据时,不需要先创建表. show d ...

  9. mongodb增删改查常用命令总结

    前言 去年我还折腾过mongodb,后来用不到也就没碰了,这就导致了我忘的一干二净,不得不感叹,编程这东西只要不用,就会忘没了.现在我想重拾mongodb,来总结一下常用命令,主要就是增删改查. 另外 ...

  10. Python对MongoDB增删改查

    pip install pymongo import pymongo # 建立连接 client = pymongo.MongoClient() # 指定数据库 (不存在则会新建) db = clie ...

随机推荐

  1. Docker学习知识图

    这个图更能明白他们之间的关系   文章来源:外星人来地球 欢迎关注,有问题一起学习欢迎留言.评论

  2. javascript已存在的对象构造器中是不能添加新的属性的:

    <!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程 ...

  3. 《最长的一帧》 osg3.4 osgViewer::View::init() osgViewer::Viewer::getContexts()

    开始:osgViewer/ViewerBase.cpp   389行,startThreading()函数,启动线程   void ViewerBase::startThreading() { if ...

  4. Qt pri文件

    pri文件就是一个简单的文件夹包含或者动态库调用路径等说明,在pro文件里include了pri文件,相当于把pri文件的内容直接复制到pro文件中

  5. 安装git和关联gitlab拉取代码步骤

    1.双击 “Git-2.9.2-64-bit.exe”文件,一路next安装git程序 2.为github帐号添加SSH keys 3.使用git clone命令从GitLab上同步代码库时,如果使用 ...

  6. CentOS7下搭建Ansible自动化运维工具,集中管理服务器

    (1).Ansible具有如下特点: 部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作: 默认使用SSH协议对设备进行管理: 主从集中化管理: 配置简单.功能强大.扩展性强: 支持A ...

  7. 我的iOS动画01

    1.嵌套使用,先变大再消失 [UIView animateWithDuration:1.25 aniamtions:^{ CGAffineTransform newTRansform = CGAffi ...

  8. 01.轮播图之三 : collectionView 轮播

    个人觉得 collection view 做轮播是最方便的,设置下flowlayout 其他不会有很大的变动,没有什么逻辑的代码 let's begin…… 创建自定义的view .h 声明文件 @i ...

  9. 【c# 学习笔记】多态

    由于可以继承基类的所有成员,子类就都有了相同的行为,但是有时子类的某些行为需要相互区别,子类需要覆写父类中的方法来实现子类特有的行为,这样 的技术在面向对象的编程中就是多态. 多态即相同类型的对象调用 ...

  10. Swagger API文档

    Swagger API文档集中化注册管理   接口文档是前后端开发对接时很重要的一个组件.手动编写接口文档既费时,又存在文档不能随代码及时更新的问题,因此产生了像swagger这样的自动生成接口文档的 ...