一、数据库操作

显示现有的数据库,命令: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. 初探nodejs事件循环机制event loop

    nodejs的特点 nodejs 具有事件驱动和非阻塞I/O的特点. 事件驱动是指nodejs把每一个任务当成事件来处理. 非阻塞I/O是指nodejs遇到I/O任务时,会从线程池调度单独的线程处理I ...

  2. 纯CSS画三角形(带边框)

    实例一: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  3. OpenJudge计算概论-求字母的个数(统计元音字母个数)

    /*======================================================================= 求字母的个数 总时间限制: 1000ms 内存限制: ...

  4. SQL-W3School-函数:SQL FIRST() 函数

    ylbtech-SQL-W3School-函数:SQL FIRST() 函数 1.返回顶部 1. FIRST() 函数 FIRST() 函数返回指定的字段中第一个记录的值. 提示:可使用 ORDER ...

  5. Ionic4.x 中的 UI 组件(UI Components) 侧边栏ion-menu组件以及底部tabs结合 侧边栏 ion-menu

    1.侧边栏 ion-menu 组件的基本使用 1.创建项目 ionic start myApp sidemenu 2.配置项目 属性 作用 可选值 side 配置侧边栏的位置 start end me ...

  6. Keyframe类-动画中关键帧概念

    package com.loaderman.customviewdemo; import android.animation.Animator; import android.animation.Ke ...

  7. JavaScript正则表达式补充

    定义正则表达式 /.../用于定义正则表达式 /.../g表示全局匹配 /.../i表示不区分大小写 /.../m表示多行匹配 JS正则匹配时本身就是支持多行,此处多行匹配只是影响正则表达式^和$,m ...

  8. PAT 甲级1057 Stack (30 分)(不会,树状数组+二分)*****

    1057 Stack (30 分)   Stack is one of the most fundamental data structures, which is based on the prin ...

  9. PAT 甲级 1053 Path of Equal Weight (30 分)(dfs,vector内元素排序,有一小坑点)

    1053 Path of Equal Weight (30 分)   Given a non-empty tree with root R, and with weight W​i​​ assigne ...

  10. (十六)toString()的用法

    每一个非基本类型的对象都有一个toString()方法,而且当编译器需要一个String而你却只有一个对象时候,该方法便会被调用. public class te { public String to ...