MongoDB 数据库、集合创建删除与文档插入
本文章主要介绍mongodb的基本命令,前提条件,你的本地已经安装了mongo。
一、基本命令使用(主要是创建,增删改。)
0.mongoDb统计信息
获得关于MongoDB的服务器统计,需要在MongoDB客户端键入命令db.stats()。这将显示数据库名称,阻碍收集和数据库中的文档。
1.创建数据库
命令:use
use DATABASE_NAME :用户创建数据库,如果存在则使用数据库,没有则创建。
例子:创建数据库mydb
>use mydb
>switched to db myPort
2.查询当前选择的数据库
命令:db
3.查询数据库列表
命令:show dbs
注意:要显示的数据库,需要把它插入至少一个文件
4.删除数据库
命令: db.dropDatabase()
注意:删除正在使用的数据库,如果没有选择,则删除默认的test数据库
5.创建集合
命令:db.createCollection(name, options)
参数 | 类型 | 描述 |
Name | String | 要创建的集合名称 |
options | Document | (可选)指定有关内存大小和索引选项 |
字段 | 类型 | 描述 |
---|---|---|
capped | Boolean | (可选)如果为true,则启用封顶集合。封顶集合是固定大小的集合,会自动覆盖最早的条目,当它达到其最大大小。如果指定true,则需要也指定尺寸参数。 |
autoIndexID | Boolean | (可选)如果为true,自动创建索引_id字段的默认值是false。 |
size | number | (可选)指定最大大小字节封顶集合。如果封顶如果是 true,那么你还需要指定这个字段。 |
max | number | (可选)指定封顶集合允许在文件的最大数量。 |
例子:
>db.createCollection("mycollection")
{ "ok" : 1 }
>db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )
{ "ok" : 1 }
在MongoDB中,不需要创建集合。当插入一些文件 MongoDB 自动创建的集合。
例子:
6.查询集合
命令:show collections
7.删除集合
命令:db.COLLECTION_NAME.drop():从当前数据库删除某个集合。
drop() 方法将返回 true,如果选择成功收集被丢弃,否则将返回 false。
8.数据类型
String,Integer,Boolean,Double,Arrays ,
Min/ Max keys : 这种类型被用来对BSON元素的最低和最高值比较;
Timestamp : 时间戳。这可以方便记录时的文件已被修改或添加;
Object : 此数据类型用于嵌入式的文件。
Null : 这种类型是用来存储一个Null值;
Symbol : 此数据类型用于字符串相同,但它通常是保留给特定符号类型的语言使用;
Date : 此数据类型用于存储当前日期或时间的UNIX时间格式。可以指定自己的日期和时间,日期和年,月,日到创建对象。
Object ID : 此数据类型用于存储文档的ID;
Binary data : 此数据类型用于存储二进制数据;
Code : 此数据类型用于存储到文档中的JavaScript代码;
Regular expression : 此数据类型用于存储正则表达式。
9.插入文档
命令:>db.COLLECTION_NAME.insert(document)
插入文档中,如果我们不指定_id参数,然后MongoDB 本文档分配一个独特的ObjectId。
_id 是12个字节的十六进制数,唯一一个集合中的每个文档
save操作和insert的区别:
如果document不指定_id 或者_id不存在 save与insert操作一致,如果存在_id,并且_id在document中已经存在,使用insert会报错,如果使用save则会替换之前的数据。
例子:
首先插入一条_id为575e262dccf718eb665437a1的文档,在用insert时会出错,禁止插入,如果使用save操作可以保存成功。
10.删除文档
MongoDB的 remove() 方法用于从集合中删除文档。remove() 方法接受两个参数。第一个是删除criteria ,第二是justOne标志:
deletion criteria :(可选)删除标准,根据文件将被删除。
justOne : (可选)如果设置为true或1,然后只删除一个文件。
命令:>db.COLLECTION_NAME.remove(document)
>db.COLLECTION_NAME.remove({}) 清空所有的数据,但是不建议用,因为速度慢,性能不好,推荐的办法就是将集合删除然后重新创建集合和索引。
例子:删除name为zzx的文档。
11.更新文档
MongoDB的 update() 和 save() 方法用于更新文档的集合。 update()方法更新现有的文档值,而替换现有的文档通过的文件中 save() 方法。
11.1 update
语法:>db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA)
常见的错误:查询条件匹配了多个文档,更新的时候第二个参数的存在就可能出现重复的“_id”,数据库就会报错。
用新的文档替换查到的文档。
使用修改器:
通常文档只会有一部分的更新,使用原子的修改器可以高效的实现更新。
①“$set”修改器:
用来指定一个键的值,就是赋值操作,如果这个键值不存在就创建,。
例子:
“$set”也可以修改键的数据类型,将某个键改成任意的数据类型。包括数组,集合,
“$unset”:删除某个键值。
例子:
② “$inc” 增加或者减少某个值
用于增加已有的键值,如果没有则创建。
例子:减少年龄三岁
只能用于数字,如果用于其他会报错
③“$push”:数组插入
会在已有的数组末尾添加一个元素,如果没有则创建一个数组。
例子:
④"$addToSet":与“$push”使用方法一样,保证数据不重复
⑤数组的定位修改器
如果数组有多个,我们只想修改部分,有两种方案:一、通过位置;二、定位操作符。
upset使用
一种特殊的更新,如果查询不到更新的数据,则创建这个文档。
使用方法:>db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA,true)
二、瞬间完成
以上的插入、删除、更新操作都是瞬间完成,他不需要等待服务器相应。这样有好处有坏处。好处就是快速相应,减少客户端的等待时间。坏处就是如果服务器没有将数据做好处理,或者客户端不知道服务器挂掉会一直发送数据。对于某些重要的信息还是很危险的。
1.安全操作:
对于某些需要数据库服务器返回结果的操作,可以使用安全版本操作。驱动程序会等待数据库相应,如果遇见错误则抛出一个可捕获的异常。
写在后面的话:吐槽下博客园,昨天写了半天的文章,结果没有保存,电脑挂点啦。都丢失啦,都没有做自动保存 好搓!!!!!
转载于:https://www.cnblogs.com/zhangzongxing01/p/5578979.html
MongoDB 数据库、集合创建删除与文档插入相关推荐
- mongoDB 文档插入
mongoDB文档插入与SQL表insert方式基本相同.在关系数据库中,我们需要先定义表,然后才能将记录插入到文档,而在mongoDB中,由于无需预定义模式,因此,在集合不存在的情形下,直接inse ...
- 3-MongoDB常用的命令-数据库创建-文档插入
目录: 一.连接数据库 二.案例需求 三.数据库的操作 3.1 选择和创建数据库 3.2 数据库的删除 四.集合的操作 4.1 集合的显式创建(了解) 4.2 集合的隐式创建 4.3 集合的删除 五. ...
- codesoft6卸载干净_CODESOFT创建和删除自定义文档备料
CODESOFT创建和删除自定义文档备料 CODESOFT是先进的标签设计与集成软件.在使用CODESOFT制作条码标签时,为方便省时,我们可以事先创建自己的文档模板,保存它们以供将来使用. CODE ...
- 在.NET Core中使用MongoDB明细教程(1):驱动基础及文档插入
MongoDB,被归类为NoSQL数据库(其实我更觉得MongoDb是介于关系型数据库和非关系型数据库之间,此外,在我看来在很多场景中MongoDb都可以取代关系型数据库.),是一个以类JSON格式存 ...
- 达梦数据库DSC集群安装文档
达梦数据库DSC集群安装文档 一. DSC安装准备工作 1 1.1. 创建安装用户 2 1.2. 配置udev存储 2 二. DMDSC 搭建 8 三. 搭建DW容灾架构 39 修改dm.ini,数据 ...
- Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录(转)
文章转自:http://www.osyunwei.com/archives/8998.html 说明: 操作系统:CentOS Mongodb安装目录:/usr/local/mongodb Mongo ...
- Pandas的学习(读取mongodb数据库集合到DataFrame,将DataFrame类型数据保存到mongodb数据库中)
1.读取mongodb数据库集合到DataFrame import pymongo import pandas as pdclient = pymongo.MongoClient("数据库连 ...
- ASP.NET里创建Microsoft Word文档
原文发布时间为:2008-08-03 -- 来源于本人的百度文章 [由搬家工具导入] 本文是应在ASP.NET里创建Microsoft Word文档之需而写的.这篇文章演示了在ASP.NET里怎么创建 ...
- 用python将word文档导入数据库_python读取word文档,插入mysql数据库的示例代码
表格内容如下: 1.实现批量导入word文档,取文档标题中的数字作为编号 2.除取上面打钩的内容需要匹配出来入库入库,其他内容全部直接入库mysql # wuyanfeng # -*- coding: ...
最新文章
- PHP开发错误锦集(持续更新)
- iPhone全球技术巡讲北京站,WWDRChina 2009 Beijing
- 读CopyOnWriteArrayList有感
- go编译成c语言,Go语言是怎么完成编译的
- python 怎么查看变量的数据类型
- [php] in_array 判断问题(坑)
- 北京soul_Soul高智商情侣,机器人博士邂逅科技记者,跨越1200公里来相爱
- Spring之数据源整理
- Scrapy入门操作
- 外籍专家在中关村图书大厦解密软件项目
- 51Nod 1509加长棒
- USB Repair(usb设备修复工具)官方正式版V8.0.3.1069 | u盘修复软件下载 | u盘修复软件哪个最好?
- Win7 没有声音的解决方法
- UIAutomatorViewer基础
- 元旦| 微软ATP伴你2023一路前行
- scratch学习_和 Vicky 一起学习 Scratch 系列之十三 — 作曲
- 厉害了!看嘴型竟然就能识别发音
- Leetcode 2327. 知道秘密的人数(思路很棒)
- 中文linux(Ubuntu)下让date命令显示英语日期
- 长沙周边最美露营基地:安化云台山风景区星空露营公园
热门文章
- python快速部署一个服务器_Python加Shell快速部署集群
- java url 上传文件_Java使用HttpURLConnection上传文件(转)
- python数据结构的列表_Python内置数据结构——列表list
- 【视频课】完备理论+4大案例实践,一课深入掌握图像分类各个方向,配套导师永久答疑群...
- 【AI研究院】360无死角认识一下女神的线上美容院-“美图秀秀”
- 中国板翅式机油冷却器行业投资前景与发展战略研究报告2022-2028年
- 中国美丽乡村建设投融资及十四五发展规划分析报告2022-2028年版
- 喜马拉雅音频下载工具
- 使用curl下载上传ftp
- 浏览器插件之ActiveX开发(二