---------------------MongoDB基本操作---------------------
1、MongoDB创建数据库
use 数据库名:切换到指定的数据库中,在插入第一个条数据的时候,创建对应的数据库。
show dbs:显示所有的数据库名。
db:查看当前数据库的名称。
show collections:查看当前db所有的collections。
db.集合名.insert({"name":"python"}):为指定的集合添加一条数据。
2、MongoDB删除数据库
db.dropDataBase():删除当前数据库。
3、MongoDB创建集合
db.createCollection(name,options):
参数 类型 描述
Name String 要创建的集合名称
Options Document (可选)指定有关内存大小和索引选项
字段 类型 描述
capped Boolean (可选)如果为true,则启用封顶集合。封顶集合是固定大小的集合,当它达到其最大大小,会自 动覆盖最早的条目。如果指定true,则需要也指定size字段。
autoIndexID Boolean (可选)如果为true,自动创建索引_id字段, 默认值是false。
size number (可选)指定集合最大可使用字节。如果封顶如果是 true,那么你还需要指定这个字段。
max number (可选)指定封顶集合允许在文件的最大数量。Size限制优先于此限制。如果一个封顶集合达到大小size限制,未达到文件的最大数量,MongoDB删除旧的文件。如果您更喜欢使用max,确保为上限的集合所需的大小限制,足以包含文档的最大数量。
例:db.createCollection("log",{ capped : true, size : 5242880, max : 5000 } )
4、MongoDB删除集合
db.集合名.drop()
5、MongoDB数据类型
1、String : 这是最常用的数据类型来存储数据。在MongoDB中的字符串必须是有效的UTF-8。
2、Integer : 这种类型是用来存储一个数值。整数可以是32位或64位,这取决于您的服务器。
3、Boolean : 此类型用于存储一个布尔值 (true/ false) 。
4、Double : 这种类型是用来存储浮点值。
5、Min/ Max keys : 这种类型被用来对BSON元素的最低和最高值比较。
6、Arrays : 使用此类型的数组或列表或多个值存储到一个键。
7、Timestamp : 时间戳。这可以方便记录时的文件已被修改或添加。
8、Object : 此数据类型用于嵌入式的文件。
9、Null : 这种类型是用来存储一个Null值。
10、Symbol : 此数据类型用于字符串相同,但它通常是保留给特定符号类型的语言使用。
11、Date : 此数据类型用于存储当前日期或时间的UNIX时间格式。可以指定自己的日期和时间,日期和年,月,日到创建对象。
12、Object ID : 此数据类型用于存储文档的ID。
13、Binary data : 此数据类型用于存储二进制数据。
14、Code : 此数据类型用于存储到文档中的JavaScript代码。
15、Regular expression : 此数据类型用于存储正则表达式。
6、MongoDB插入文档
插入数据可以使用insert()和save():
db.集合名字.insert(行数据信息)。
例:
db.mongoDBtest.insert(
{
title: 'MongoDB Overview',
description: 'MongoDB is no sql database',
by: 'tutorials itcast',
url: 'http://www.itcast.cn',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
}
)
7、MongoDB查询文档
1、查询:
db.集合名.find():查询当前集合的数据信息。
db.集合名.findOne():查询当前集合的第一条数据信息。
pretty():结果显示在一个格式化的方式。
2、AND的使用:
在 find() 方法,如果通过多个键分离',',那么 MongoDB 处理 AND 条件
语法:db.mongoDBtest.find({key1:value1, key2:value2}).pretty()
3、OR的使用
OR条件的基础上要查询文件,需要使用$or关键字。
>db.mongoDBtest.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
).pretty()
4、AND和OR一起使用
db.mongoDBtest.find({
key1:value1,
$or:[
{key1:value1},{key2:value2}
]
}).pretty()
5、MongoDB limit与skip方法
limit:显示指定多少条数据。
skip:跳过指定多少条数据。
db.mongoDBtest.find().limit(10).skip(100):显示100-110条数据
6、MongoDB 投影
投影意思是查询到的返回结果中,只选择必要的字段,而不是选择一个文档的整个字段。
如果一个文档有5个字段,需要显示只有3个,投影其中3个字段即可。
语法:
db.mongoDBtest.find({},{"name":1,_id:0})
7、MongoDB 排序
语法
sort()方法基本语法如下所示:
>db.集合名.find().sort({KEY:1})
sort()方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列。
8、MongoDB 求Count
使用count()方法对数据统计个数
语法
count()方法基本语法如下所示:
>db.集合名.find({}).count()
或者
db.集合名.count({})
> db.mongoDBtest.find({'likes':{'$gt':20}}).count()
9、MongoDB 求distinct
使用distinct()方法对数据进行去重统计
语法
distinct()方法基本语法如下所示:
>db.集合名.distinct('key',{})
> db.mongoDBtest.distinct('title',{'likes':{'$gt':20}})
8、MongoDB更新文档
1、MongoDB 使用 update() 和 save() 方法来更新集合中的文档。
2、语法:
update() 方法的基本语法如下
db.mongoDBtest.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
3、语法中对应的参数介绍:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。
4、例:
>db.mongoDBtest.update({'by':'tutorials itcast'},{$set:{'by':'itcast'}},{multi:true})
9、MongoDB删除文档
1、MongoDB remove()函数是用来移除集合中的文档。
2、语法
基本语法remove()方法如下
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
3、参数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档。默认false
writeConcern :(可选)抛出异常的级别。
4、例:
db.myLimit.remove({"_id" : {$gt:0}},1)
- MongoDB的Shell操作
前言 本文从介绍了MongoShell 的配置.脚本.数据类型和其他指令. MongoShell - 简介 MongoShell是一个互动的JavaScript接口的MongoDB,可以使用Mongo ...
- 每篇半小时1天入门MongoDB——2.MongoDB环境变量配置和Shell操作
上一篇:每篇半小时1天入门MongoDB——1.MongoDB介绍和安装 配置环境变量 Win10系统为例 右键单击“此电脑”——属性——高级系统设置——高级——环境变量,添加C:\Program F ...
- 【翻译】MongoDB指南/CRUD操作(二)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...
- 【翻译】MongoDB指南/CRUD操作(一)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...
- MongoDB的CRUD操作
1. 前言 在上一篇文章中,我们介绍了MongoDB.现在,我们来看下如何在MongoDB中进行常规的CRUD操作.毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作. MongoDB中的 ...
- MongoDB各种查询操作详解
这篇文章主要介绍了MongoDB各种查询操作详解,包括比较查询.关联查询.数组查询等,需要的朋友可以参考下 一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可 ...
- mongodb的常用操作
对于nosql之前工作中有用到bekerlydb,最近开始了解mongodb,先简单写下mongodb的一些常用操作,当是个总结: 1.mongodb使用数据库(database)和集合(collec ...
- MongoDB基本命令行操作
1. 连接MongoDB: Mongodb://username:password@hostname/dbname 2. 创建数据库: use dbname:如果数据库不存在则创建数据库,否则切换到指 ...
- NOSQL -- Mongodb的简单操作与使用(wins)
NOSQL -- Mongodb的简单操作与使用(wins) 启动mongodb: 1.首先启动服务 dos命令下:net start Mongndb 也可以查询服务,手动开启服务: 完成后: 2.启 ...
随机推荐
- 初学安卓开发随笔之 Menu、toast 用法、活动的四种启动模式 以及 一个方便的Base活动类使用方法
Toast toast 是安卓系统的一种非常棒的提醒方式 首先定义一个弹出Toast的触发点,比如可以是按钮之类 其中 Toast.LENGTH_SHORT是指显示时长 还有一个内置变量为Toast. ...
- win7下从ruby源代码编译安装
工作中需要在c++代码中嵌入ruby c api,然而在vs工程中编译失败,所以现在通过手动从源代码编译ruby寻找原因(之前使用rubyinstaller安装). 先从官网下载ruby 2.4. ...
- Java curator操作zookeeper获取kafka
Java curator操作zookeeper获取kafka Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更 ...
- 走过夏天,我的H5旅程,一路慢行
<!DOCTYPE html> <!-- 文档类型声明:让浏览器,按照html5的标准对代码进行解释和执行. 文档类型声明必不可少,而且,必须放在文档最上方. 如果不写文档类型声明, ...
- 解决oracle数据库删除sql语句出现^H字样
1:安装readline包 yum install readline* 2:安装源码包: rlwrap-0.30.tar.gz ./configure && make & ...
- 关于戴尔没有活动分区,遇到了“Windows安装程序无法将windows配置为在此计算机的硬件上运行”提示等
虽然只有几句话,但是还是超级好用的 装过很多戴尔的笔记本,发现很多都是这里的问题导致系统装不进去. 1.硬盘设置有问题.进BIOS ,到SATA 设置看看硬盘是不是设置为AHCI了.这个ghost系统 ...
- 快慢指针实现不依赖计数器寻找中位数(linked list)
该方法在不借助计数器变量实现寻找中位数的功能.原理是:快指针的移动速度是慢指针移动速度的2倍,因此当快指针到达链表尾时,慢指针到达中点.程序还要考虑链表结点个数的奇偶数因素,当快指针移动x次后到达表尾 ...
- Redis从单机到集群,一步步教你环境部署以及使用
Redis作为缓存系统来说还是很有价值的,在大数据方向里,也是需要有缓存系统的.一般可以考虑tachyon或者redis,由于redis安装以及使用更简单,所以还是优先考虑了它.那么在一些场景下为了保 ...
- 中国大学MOOC-陈越、何钦铭-数据结构-2015秋 01-复杂度2 Maximum Subsequence Sum (25分)
01-复杂度2 Maximum Subsequence Sum (25分) Given a sequence of K integers { N1,N2, ..., NK }. ...
- [STM32F429-DISCO-HAL]2.先学会点亮LED和使用LCD。。。
首先就简单的一秒闪烁一次LED灯,进而类比推理其他外设的配置过程.然后呢我们就用上LCD吧,毕竟这块板上占地面积最大的就是这个2.4'LCD了. 先贴出简洁的main函数.很干净,比较容易看懂 ...