mongoDB使用小记
1.简介:
MongoDB是由c++语言编写的,基于分布式文件存储的开源数据库系统。MongoDB将数据存储为一个文档,数据结构有键-值对,类似于JSON对象。
MongoDB其中的一些概念如下:
MongoDB中表相当于一个集合,行相当于一个文档,列相当于一个域。其中MongoDB自动将_id字段设置为主键。
2.安装与连接
(1)安装官网下载
(2)启动服务:
这里的路径可以自己设置,这是存储数据库数据的地方
启动成功后,流浪器访问localhost:27017,将会出现以下画面,27017为默认端口
(3) 连接
3.一些基础操作:
(1)show dbs
可以显示所有数据库
(2)db
显示当前数据库对象
(3)use <db>
使用指定的数据库
(4)show collections
查看当前表中所有集合
4.MongoDB数据类型
5.MongoDB创建数据库
use DATABASE_NAME
当DATABASE_NAME不存在时会创建数据库,如果其存在则切换到指定数据库。
注意:当你新建的数据库内没有插入数据时,show dbs不会显示出你刚创建的数据库;
6.删除数据库
db.dropDatabase()
删除当前数据库。
7.创建集合:
集合相当于关系型数据库中表(table)的概念
db.createColection(name,options)
- name:要创建集合的名称
- options:可选的参数,可以是如下:
下面是一个例子:
创建一个固定集合my,整个集合空间的大小为6142800KB,文档中最大个数为10000个。
db.createCollection("my", { capped : true, autoIndexId : true, size :
6142800, max : 10000 } )
注意:当你在my集合中插入文档时,先检查是否满足size条件,再查看max条件,只有在两个都满足的前提下你才能插入文档
8.删除集合
db.collection.drop()
collection:指要删除的集合名称
9.插入文档
MongoDB使用insert()或者save()方法向集合中插入文档
db.COLLECTION_NAME.insert(document)
例子:
COLECTION_NAME是集合的名称,如果数据库中不存在该集合,那么MongoDB会自动创建该集合。
10.更新文档:
(1)update()方法用于更新已存在的文档。
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
- query:update的查询条件,类似mysql的where条件语句
- update:update的对象和一些更新的操作符,可以理解为sql中set语句
- upsert:可选,表示如果不存在update的文档,是否插入新的文档,默认为false
- multi:可选,默认为false,表示只更新找到的第一条记录,如果为true则表示更新所有满足条件的文档
- writeConcern:可选,表示抛出异常的级别
实例:
(2)save()方法通过传入的文档替换已有的文档,语法格式为:
db.collection.save(
<document>,
{
writeConcern: <document>
}
)
document:新文档的数据.
其他实例:
11.删除文档
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
实例:
12.查询文档
db.collection.find(query,projection)
query:可选,使用查询操作符指定查询的条件
projection:可选,使用投影操作符指定返回的键。查询是返回文档中所有键值
以易读的方式读取数据
db.collection.find().pretty()
看一下哪易读了:
一些常用的操作:
OR条件 {$or:[{key1:value1}, {key2:value2} ]}
学习笔记,参考http://www.runoob.com/mongodb
mongoDB使用小记的更多相关文章
- mongodb入门学习小记
Mongodb 简单入门(个人学习小记) 1.安装并注册成服务:(示例) E:\DevTools\mongodb3.2.6\bin>mongod.exe --bind_ip 127.0.0.1 ...
- MongoDB 小记
之前本人说过一款非关系型数据库的代表 Redis 的 < Redis 小记 >文章,觉得意犹未尽,今天就来介绍一款数据库 MongoDB ,先来看一下 MongoDB是一款基于分布式文件存 ...
- MongoDB小记
mongodb的一个简单使用. package com.chuntent.mongo; import java.util.Map; import java.util.Map.Entry; import ...
- Java程序中与MongoDB建立连接~小记
1.Mongo和MongoClient的关系 MongoClient继承自Mongo,使用Mongo也可建立连接,但是需要使用与Mongo适应的MongoOptions,MongoURI等类型. 2. ...
- 小记------mongodb数据库如何进行模糊查询
// 模糊匹配createTime 是以 2019-07-23 开头 db.getCollection('driver_online_record').find({"createTime ...
- linux 下cmake 编译 ,调用,调试 poco 1.6.0 小记
上篇文章 小记了: 关于 Poco::TCPServer框架 (windows 下使用的是 select模型) 学习笔记. http://www.cnblogs.com/bleachli/p/4352 ...
- MongoDB学习记录
一.操作符 "$lt" :"<""$lte" :"<=""$gt" :"> ...
- Java JPA小记
什么是JPA JPA之于ORM(持久层框架,如MyBatis.Hibernate等)正如JDBC之于数据库驱动. JDBC是Java语言定义的一套标准,规范了客户端程序访问关系数据库(如MySQL.O ...
- [转帖]「日常小记」linux中强大且常用命令:find、grep
「日常小记」linux中强大且常用命令:find.grep https://zhuanlan.zhihu.com/p/74379265 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍 ...
随机推荐
- [c++] How many bytes do pointers take up?
How many bytes do pointers take up? on 16 bit systems take up 2 bytes on 32 bit systems take up 4 by ...
- 在Linux下配置.net网站
一.Linux安装 1.1 Linux环境 本篇文章选择VMWare虚拟机安装Linux,使用的Linux是CentOS-7.可以在百度上自行下载一个VMWare和CentOS-7镜像,建议使用最新版 ...
- Mysql建表的时候创建索引
创建表时可以直接创建索引,这种方式最简单.方便.其基本形式如下: CREATE TABLE 表名( 属性名 数据类型[完整性约束条件], 属性名 数据类型[完整性约束条件], ...... 属性名 数 ...
- 选项“6”对 /langversion 无效;必须是 ISO-1、ISO-2、3、4、5 或 Default
部署MVC的时候,因为服务器.NET版本是4.5.1,所以在vs将.NET版本降到4.5.1的时候发布报错. 原因:C#6降到C#5导致 解决办法:修改web.config配置 ,编译选项改为comp ...
- [GO]使用select实现斐波那契
package main import "fmt" func fibonacci(ch chan <- int, quit <- chan bool) { x, y : ...
- soapUI的bug切换版本解决
目录 文章背景 目录 运行环境及出现的问题 问题解决 说明 参考文章 版本记录 文章背景 为公司编写了一个webservice,本地测试时候是没有问题的,发布到现场之后,访问出现异常,通过切换soap ...
- 编写高质量代码改善C#程序的157个建议——建议135: 考虑使用肯定性的短语命名布尔属性
建议135: 考虑使用肯定性的短语命名布尔属性 布尔值无非就是True和False,所以应该用肯定性的短语来表示它,例如,以Is.Can.Has作为前缀. 布尔属性正确命名的一个示例如下: class ...
- C/C++学习的50个经典网站
C/C++是最主要的编程语言.这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码.这份清单提供了源代码的链接以及它们的小说明.我已尽力包括最佳的C/C++源代码的网站.这不是一个完整的清 ...
- Retrofit+Rxjava observable转javabean失败
报错提示: Caused by: java.lang.IllegalArgumentException: Unable to create call adapter for io.reactivex. ...
- 7z文件格式及其源码的分析(五)
这是7z文件格式及其源码的分析系列的第五篇. 上一篇讲到了7z文件压缩流程.最近太忙了,好久没更新,都快忘了写到哪了.:) 这一篇就说说7z文件的尾头的生成方式吧. 上一篇已经讲了尾header的结构 ...