MongoDB(课时3 MongoDB基本操作)
3.3 MongoDB的基本操作
在MongoDB数据库里面存在数据库的概念,但没有模式(所有的信息都是按照文档保存的),保存数据的结构是BSON结构,只不过在进行一些数据处理的时候才会使用到MongoDB自己的一些操作。
1.使用mldn数据库:use mldn
实际上这时候并不会创建数据库,只有在数据库里保存集合数据之后才能真正创建数据库。
2.创建一个emp集合:db.createCollection("emp")
这个时候mldn数据库才会真正存在。
3. 很多时候按照以上代码形式进行是不正常的,正常情况下使用MongoDB数据库集合操作,都是直接向里面保存一个数据。因为MongoDB是无模式的。
4.查看所有集合:show collections
(注意:3,4是重新打开的MongoDB,前面的emp集合没保存所以没在其中)
5.查看dept表的数据
语法:db.集合名称.find({若干条件})
从传统的数据表来看(集合相当于表的结构),表的结构一旦定义必须按照其定义的要求进行编写,MongoDB不一样,它可以自己随意扩充数据。
6.增加不规则数据
其中的第三条数据与前两条结构不同,所以dept集合的内容可以由用户随便定义。所以在MongoDB中不存在查看集合结构的操作。
7.关于ID的问题
在MongoDB集合中的每一行记录都会自动的生成一个" "_id" : ObjectId("5a2115dca5eb4ea8c10f5eb8")"数据,这个数据组成是:时间戳+机器码+PID+计数器,这个值绝对不会重复。
ObjectId(0~11):
- 对象id类型是一个12字节的唯一id。每个字节2位16进制数,因此整个id类型是一个24位的字符串
- 前面四个字节代表从标准纪元开始的时间戳,以秒为单位
- 接下来3个字节代表机器码,一般是机器的hash值。这可以保证不同的及其产生的id不会冲突
- 接下来两个字节表示进程id号,保证统一机器不同建成产生的id不冲突
- 最后三个是计数器的技术支持,对于任意一秒钟,可以产生2^24个数
这个ID的信息是MongoDB数据自己为用户生成的。
8.查看单独的一个文档信息
db.dept.findOne()表示只查看一个文档信息。
9.删除数据——db.dept.remove(ID)
根据ID删除数据,本来是三条数据,删除 "_id" : ObjectId("5a2115dca5eb4ea8c10f5eb8")的数据,变为两条。
10.更新数据——db.dept.update(ID, 更新的数据)
11.删除集合
语法:db.集合名称.drop()
12..删除数据库(删除数据库是删除当前所在的数据库,必须切换到当前数据库后才可以删除)
语法:db.dropDatabase()
在编写代码中当前数据库是test数据库,所以可以删除。
删除test数据库后,没有了当前数据库,所以执行dp.dropDatabase()后,并不删除数据库。
13.查看数据库:show databases 或 show dbs
MongoDB(课时3 MongoDB基本操作)的更多相关文章
- MongoDB 安装和即基本操作
http://www.mongodb.org/ Agile and Scalable MongoDB (from "humongous") is an open-source do ...
- MongoDB 的安装和基本操作
MongoDB 的安装 使用 docker 安装 下载镜像: docker pull mongo:4.4.8(推荐,下载指定版本) docker pull mongo:latest (默认下载最新版本 ...
- Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB
MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...
- mongoDB操作命令及mongoDB的helper
此项目已开源,开源地址是: http://mongodbhelper-csharp.googlecode.com/svn/trunk/ mongodb的helper using System; usi ...
- mongoDB & Nodejs 访问mongoDB (一)
最近的毕设需要用到mongoDB数据库,又把它拿出来再学一学,下盘并不是很稳,所以做一些笔记,不然又忘啦. 安装 mongoDB & mongoVUE mongoDB: https://www ...
- mongodb系列之--mongodb 主从配置与说明
一.为什么要配置mongodb的主从: 1.做主从,可以说是做数据的备份,有利于故障的恢复 2.做主从,可以做到读写分离,主节点负责写操作,从节点负责读操作,这样就把读写压力分开,保证系统的稳定性. ...
- java操作mongodb & springboot整合mongodb
简单的研究原生API操作MongoDB以及封装的工具类操作,最后也会研究整合spring之后作为dao层的完整的操作. 1.原生的API操作 pom.xml <!-- https://mvnre ...
- 学习MongoDB 一:MongoDB 入门(安装与配置)
一.简介 MongoDB一种非关系型数据库(NoSql),是一种强大.灵活.可扩展的数据存储方式,因为MongoDB是文档模型,自由灵活很高,可以让你在开发过程中畅顺无比,对于大数据量.高并发.弱事务 ...
- MongoDB · 引擎特性 · MongoDB索引原理
MongoDB · 引擎特性 · MongoDB索引原理数据库内核月报原文链接 http://mysql.taobao.org/monthly/2018/09/06/ 为什么需要索引?当你抱怨Mong ...
- MongoDB小结01 - MongoDB简介
我们为什么要去学习MongoDB MongoDB是一种强大.灵活.可扩展的数据存储方式. 丰富的数据模型 MongoDB是面向文档的数据库,不是关系型数据库.它将原来'行'(row)的概念换成了更加灵 ...
随机推荐
- [LeetCode] 717. 1-bit and 2-bit Characters_Easy
We have two special characters. The first character can be represented by one bit 0. The second char ...
- python图片处理(二)
未经允许,请勿转载!!!! 这次打算先写处理图片的方法,然后再调用方法来运行 下面先写的是处理图片的方法: # -*- coding: utf-8 -*- import os import matpl ...
- android开发中遇到的一些问题
buildToolsVersion 设置buildtool版本 今天遇到一个奇怪问题instant not supported 原来是设置显示offline...这个很无语,adb devices又能 ...
- linux常用命令:Linux 文件属性详解
Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loc ...
- python excel操作单元格复制和读取的两种方法
操作单元格 新建一个sheet, 单元格赋值(两种方法) 单元格A1赋值为’xiaxiaoxu’ 单元格A2赋值为‘xufengchai’ 打印A1和A2单元格的值(两种方法) #coding=utf ...
- JVM内存分布
参考引用文章地址: http://hllvm.group.iteye.com/group/wiki/3053-JVMhttp://blog.csdn.net/william001zs/article/ ...
- Linux基础命令---mknod
mknod 创建块设备或者字符设备文件.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 mknod [选项] ...
- java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串
java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串 package com.zdz.test; im ...
- 穿透内网,连接动态ip,内网ip打洞-----p2p实现原理
转:http://blog.csdn.net/suhuaiqiang_janlay/article/details/60466333 本人找几篇讲得好的来整理一下. (1)问题的由来: (2)动态ip ...
- CentOS 7 安装OpenCV
CentOS 7 安装OpenCV步骤如下: 1.在CentOS 7命令行中直接在线安装: yum install numpy opencv* 2.安装完成后进行全盘搜索:find / -n ...