2.MongoDB基本操作

数据库命令

连接成功后,默认使用test数据库

  • 查看当前数据库名称:db
    查看所有数据库名称:show dbs
    切换数据库,如果数据库不存在也并不创建,直到插入数据或创建集合时数据库才被创建:use 数据库名称
    删除当前指向的数据库,如果数据库不存在,则什么也不做:db.dropDatabase()

 

 

集合命令

可以不手动创建集合,向不存在的集合中第一次加入数据时,集合会被创建出来

db.createCollection(name,options)

  • 例1:不限制集合大小

db.createCollection("stu")

  • 例2:限制集合大小,后面学会插入语句后可以查看效果
  • 参数capped:默认值为false表示不设置上限,值为true表示设置上限
  • 参数size:当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时,会将之前的数据覆盖,单位为字节

db.createCollection("sub",{ capped : true, size : 10 } )

  • 查看当前数据库的集合:show collections
  • 删除命令:db.集合名称.drop()

注:可以存在空集合,但是不存在空库

 

数据类型

  • 下表为MongoDB中常用的几种数据类型:
  • Object ID:文档ID
  • String:字符串,最常用,必须是有效的UTF-8
  • Boolean:存储一个布尔值,true或false
  • Integer:整数可以是32位或64位,这取决于服务器
  • Double:存储浮点值
  • Arrays:数组或列表,多个值存储到一个键
  • Object:用于嵌入式的文档,即一个值为一个文档
  • Null:存储Null值
  • Timestamp:时间戳,表示从1970-1-1到现在的总秒数
  • Date:存储当前日期或时间的UNIX时间格式
  • 创建日期语句如下
  • 注意:参数的格式为YYYY-MM-DD

new Date('2017-12-20')

object id

  • 每个文档都有一个属性,为_id,保证每个文档的唯一性
  • 可以自己去设置_id插入文档
  • 如果没有提供,那么MongoDB为每个文档提供了一个独特的_id,类型为objectID
  • objectID是一个12字节的十六进制数
  • 前4个字节为当前时间戳
  • 接下来3个字节的机器ID
  • 接下来的2个字节中MongoDB的服务进程id
  • 最后3个字节是简单的增量值

 

 

插入db.集合名称.insert(document)
插入文档时,如果不指定_id参数,MongoDB会为文档分配一个唯一的ObjectId

 

简单查询db.集合名称.find()

 

更新

db.集合名称.update(
    <query> ,<update>,{multi:<boolean>}
)

  • 参数query:查询条件,类似sql语句update中where部分
  • 参数update:更新操作符,类似sql语句update中set部分
  • 参数multi:可选,默认是false,表示只更新找到的第一条记录,值为true表示把满足条件的文档全部更新
  • 例3:全文档更新

db.stu.update({name:'hr'},{name:'mnc'})

  • 例4:指定属性更新,通过操作符$set

db.stu.insert({name:'hr',gender:0})
db.stu.update({name:'hr'},{$set:{name:'hys'}})

  • 例5:修改多条匹配到的数据

db.stu.update({},{$set:{gender:0}},{multi:true})

保存db.集合名称.save(document)

  • 如果文档的_id已经存在则修改,如果文档的_id不存在则添加
  • 例6db.stu.save({_id:'20160102','name':'yk',gender:1})
  • 例7db.stu.save({_id:'20160102','name':'wyk'})

 

删除

db.集合名称.remove(
    <query>,{justOne:<boolean>}
)

  • 参数query:可选,删除的文档的条件
  • 参数justOne:可选,如果设为true或1,则只删除一条,默认false,表示删除多条
  • 例8:只删除匹配到的第一条

db.stu.remove({gender:0},{justOne:true})

  • 例9:全部删除

db.stu.remove({})

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 954. 二倍数对数组(map计数)

文章目录1. 题目2. 解题1. 题目 给定一个长度为偶数的整数数组 A&#xff0c;只有对 A 进行重组后可以满足 对于每个 0 < i < len(A) / 2&#xff0c;都有 A[2 * i 1] 2 * A[2 * i] 时&#xff0c;返回 true&#xff1b;否则&#xff0c;返回 false。 示例 1&#xf…

jsp用tags传递参数

<computer:trangleTag sideA"12" sideB"12" sideC"12"/>表示以字符串传递sideABC <computer:trangleTag sideA“uname” sideB“ustudentcode” sideC“upassword” />表示传递的字符串是uname&#xff0c;ustudentcode&#xff0c;…

3.MongoDB数据查询

数据查询 基本查询 方法find()&#xff1a;查询&#xff1a;db.集合名称.find({条件文档}) 方法findOne()&#xff1a;查询&#xff0c;只返回第一个&#xff1a;db.集合名称.findOne({条件文档}) 方法pretty()&#xff1a;将结果格式化&#xff1a;db.集合名称.find({条件文档…

Java增强之并发编程

Java增强之并发编程 1 多线程 1.1 进程及线程 程序启动的时候&#xff0c;电脑会把这个程序加载到内存&#xff0c;在内存中需要给当前的程序分配一段的独立运行的空间&#xff0c;这个空间就专门负责这个程序的运行。每个应用程序运行都需要在内存中有自己独立的运行空间&a…

LeetCode 732. 我的日程安排表 III(差分思想)

文章目录1. 题目2. 解题1. 题目 实现一个 MyCalendar 类来存放你的日程安排&#xff0c;你可以一直添加新的日程安排。 MyCalendar 有一个 book(int start, int end)方法。它意味着在start到end时间内增加一个日程安排&#xff0c;注意&#xff0c;这里的时间是半开区间&…

4.聚合aggregate

聚合(aggregate)主要用于计算数据&#xff0c;类似sql中的sum()、avg() 语法&#xff1a;db.集合名称.aggregate({管道:{表达式}}) 管道 管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的输入 ps ajx | grep mongo 常用管道 $group&#xff1a;将集合中的…

WebView退出时停止视频播放

网上比较流行的方法: 在activity的onPause函数中调用webview的onPause函数。 弊端:视频虽然停止播放但是还是在从网上加载数据(观察流量统计); 比较好的方法: 在activity的onPause函数中调用webview的onPause函数。 在activity的onDestroy函数中webview.loadUrl("file:///…

5.MongoDB索引

mongodb支持索引&#xff0c;以提升查询速度 步骤一&#xff1a;创建大量数据 在命令行中执行如下代码&#xff0c;向集合中插入10万条文档 注意&#xff1a;不要在图形界面中执行&#xff0c;因为软件原因无法插入10万条数据就会中断执行 for(i0;i<100000;i){ db.t1.in…

Hadoop学习之整体介绍及环境搭建

Hadoop学习之整体介绍及环境搭建 1 大数据概述 1.1 什么是大数据 数据(data)是事实或观察的结果&#xff0c;是对客观事物的逻辑归纳&#xff0c;是用于表示客观事物的未经加 工的的原始素材。 大数据&#xff1a;传统处理方式无法解决的不仅大而且复杂的数据集的存储和计算…

05.序列模型 W2.自然语言处理与词嵌入

文章目录1. 词汇表征2. 使用词嵌入3. 词嵌入的特性4. 嵌入矩阵5. 学习词嵌入6. Word2Vec7. 负采样8. GloVe 词向量9. 情感分类10. 词嵌入除偏作业参考&#xff1a;吴恩达视频课深度学习笔记自然语言处理与词嵌入 Natural Language Processing and Word Embeddings 1. 词汇表征…

sql获取总列数

Select count(*) from syscolumns where object_name(id)表名可以获取表的列数转载于:https://www.cnblogs.com/haoqi/p/3388171.html

6.MongoDB备份与恢复

备份 语法 mongodump -h dbhost -d dbname -o dbdirectory -h&#xff1a;服务器地址&#xff0c;也可以指定端口号 -d&#xff1a;需要备份的数据库名称 -o&#xff1a;备份的数据存放位置&#xff0c;此目录中存放着备份出来的数据 例1 sudo mkdir test1bak sudo mongodump…

Hadoop学习之HDFS

Hadoop学习之HDFS 1 HDFS相关概念 1.1 设计思路 分散存储&#xff0c;冗余备份。 分散存储&#xff1a;大文件被切割成小文件&#xff0c;使用分而治之的思想让多个服务器对同一个文件进行联合管理&#xff1b; 冗余备份&#xff1a;每个小文件做冗余备份&#xff0c;并且…

LeetCode 799. 香槟塔(DP动态规划)

文章目录1. 题目2. 解题1. 题目 我们把玻璃杯摆成金字塔的形状&#xff0c;其中第一层有1个玻璃杯&#xff0c;第二层有2个&#xff0c;依次类推到第100层&#xff0c;每个玻璃杯(250ml)将盛有香槟。 从顶层的第一个玻璃杯开始倾倒一些香槟&#xff0c;当顶层的杯子满了&…

C语言进行CGI程序设计

一、CGI概述CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互,也就是CGI程序接受Web浏览器发送给Web服务器的信息,进行处理,将响应结果再回送给Web服务器及Web浏览器。CGI程序一般完成Web网页中表单…

7.MongoDB与python交互

引入模块pymongo from pymongoimport * 主要提供如下对象用于进行交互 MongoClient对象&#xff1a;用于与MongoDB服务器建立连接 DataBase对象&#xff1a;对应着MongoDB中的数据库 Collection对象&#xff1a;对应着MongoDB中的集合 Cursor对象&#xff1a;查询方法find()返…

天池在线编程 2020国庆八天乐 - 7 进制

文章目录1. 题目2. 解题1. 题目 https://tianchi.aliyun.com/oj/118289365933779217/122647324212270017 Given an integer, return its base 7 string representation. 输入范围为[-1e7, 1e7] 。 示例 样例 1: 输入: num 100 输出: 202样例 2: 输入: num -7 输出: -102.…

Hadoop学习之MapReduce

Hadoop学习之MapReduce 目录 Hadoop学习之MapReduce 1 MapReduce简介 1.1 什么是MapReduce 1.2 MapReduce的作用 1.3 MapReduce的运行方式 2 MapReduce的运行机制 2.1 相关进程 2.2 MapReduce的编程套路 2.3 MapTask的并行度 2.4 切片及其源码解读 2.5 ReduceTask的…

四款常见数据库比较同步软件汇总

前言&#xff1a; 目前&#xff0c;数据库技术在各行各业的应用正在逐步加深&#xff0c;在这些应用中普遍采用分布式系统结构。而数据库同步技术是分布式数据库系统中应用非常广泛的一种技术。分 布式数据库系统由多个通过网络连接的数据库组成&#xff0c;它们通常有主从服务…

8.账户管理(非数据库管理人员理解篇

超级管理员 为了更加安全的访问 mongodb,需要访问者提供用户名和密码,于是需要在mongodb 中创建用户 采用了角色-用户-数据库的安全管理方式 常用的的系统角色有: root: 只在 admin 数据中可使用,超级账户,超级权限 Read: 允许用户读取指定的数据库 readWrite: 允许用户读写指…