MongoDB学习笔记(二:入门环境配置及与关系型数据库区别总结)

时间:2023-01-24 23:40:02

一、下载及安装MongoDB

MongoDB下载官网链接:http://www.mongodb.org/downloads

具体安装步骤教程:http://www.shouce.ren/api/view/a/6191(PS:该链接中对MongoDB安装讲解比较详细,通俗易懂。安装教程链接是我从手册网上找到的,下面的总结知识点也是本人从中学习后归纳的一部分,有兴趣的同学不妨收藏一下~)

二、MongoDB可视化工具下载

个人比较习惯在图形化界面进行相关命令操作,所以在安装完MongoDB后,就顺便找了一个MongoDB可视化工具安装使用。MongoDB可视化工具比较多,通过查找网上相关博客和帖子,发现mongobooster这个可视化工具比较受欢迎。

Mongobooster官网下载链接:http://mongobooster.com/downloads(记得当时从官网下载时,网速超慢,下面附一个本人当时下载下来的一个版本的百度云链接)

Mongobooster百度云链接:http://pan.baidu.com/s/1jIhnwVW密码:wgxw

Mongobooster安装后具体界面(PS:和使用mysql相关可视化工具很像,用着很不错):

MongoDB学习笔记(二:入门环境配置及与关系型数据库区别总结)

三、MongoDB基本概念及与关系型数据区别

MongoDB数据库基本概念:

关系型数据库

MongoDB

database(数据库)

database(数据库)

table(表)

collection(集合)

row(行)

document(文档)

column(列)

filed(域)

index(索引)

index(索引)

table joins(表关系)

primary key(主键)

自动将_id字段设置为主键

MongoDB常用的数据类型:

数据类型

描述

String

字符串,存储数据常用的数据类型,在MongoDB中,UTF-8编码才是合法的

Integer

整型数值,用于存储数值,根据你所采用的服务器,可分为32位或64位

Boolen

布尔值,用于存储布尔值(真/假)

Double

双精度浮点值,用于存储浮点值

Min/Max keys

将一个值与BSON(二进制的JSON)元素的最低值和最高值相对比

Arrays

用于将数组或列表或多个值存储为一个键

Timestamp

时间戳,记录文档修改或添加的具体时间

Object

用于内嵌文档

Null

用于创建空值

Symbol

符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言

Date

日期时间,用unix时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建Date对象,传入年月日信息

Object ID

对象 ID,用于创建文档的 ID

Binary Data

二进制数据,用于存储二进制数据

Code

代码类型,用于在文档中存储 JavaScript 代码

Regular expression

正则表达式类型,用于存储正则表达式

MogoDB常用操作命令:

1、创建数据库:use db_name(例如:use library,创建一个数据库名称为library的数据库)

2、查看系统所有数据库:show dbs

3、删除数据库:先使用具体数据库,使用命令use db_name(PS:该命令在有db_name数据库条件下不会创建数据库,没有则重新创建一个db_name数据库),然后使用命令db.dropDatabase()命令

4、插入文档:db.collection_name.insert(document)

5、查看文档:db.collection_name.find()

6、更新文档:db.collection_name.update(<query>,<update>,{upsert:<boolen>,multi:<boolen>,writeConcern:<boolen>})

7、删除文档:db.collection_name.remove(<query>,<justOne>)

MongoDB操作语句与关系型SQL语句比照对应表:

操作

格式

范例

RDBMS中的类似语句

等于

{<key>:<value>}

db.col.find({"by":"菜鸟教程"}).pretty()

where by = '菜鸟教程'

小于

{<key>:{$lt:<value>}}

db.col.find({"likes":{$lt:50}}).pretty()

where likes < 50

小于或等于

{<key>:{$lte:<value>}}

db.col.find({"likes":{$lte:50}}).pretty()

where likes <= 50

大于

{<key>:{$gt:<value>}}

db.col.find({"likes":{$gt:50}}).pretty()

where likes > 50

大于或等于

{<key>:{$gte:<value>}}

db.col.find({"likes":{$gte:50}}).pretty()

where likes >= 50

不等于

{<key>:{$ne:<value>}}

db.col.find({"likes":{$ne:50}}).pretty()

where likes != 50

MongoDB学习笔记(二:入门环境配置及与关系型数据库区别总结)的更多相关文章

  1. MongoDB学习笔记&colon;快速入门

    MongoDB学习笔记:快速入门   一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...

  2. MongoDB学习笔记二- Mongoose

    MongoDB学习笔记二 Mongoose Mongoose 简介 之前我们都是通过shell来完成对数据库的各种操作, 在开发中大部分时候我们都需要通过程序来完成对数据库的操作 而Mongoose就 ...

  3. Django:学习笔记&lpar;1&rpar;——开发环境配置

    Django:学习笔记(1)——开发环境配置 Django的安装与配置 安装Django 首先,我们可以执行python -m django --version命令,查看是否已安装django. 如果 ...

  4. Nodejs 学习笔记 --- 安装与环境配置

    一.安装Node.js步骤 1.下载对应自己系统对应的 Node.js 版本,地址:https://nodejs.org/zh-cn/      2.选安装目录进行安装      3.环境配置    ...

  5. MIT JOS学习笔记01:环境配置、Boot Loader(2016&period;10&period;22)

    未经许可谢绝以任何形式对本文内容进行转载! 一.环境配置 关于MIT课程中使用的JOS的配置教程网上已经有很多了,在这里就不做介绍,个人使用的是Ubuntu 16.04 + qemu.另注,本文章中贴 ...

  6. Core Java 学习笔记——1&period;术语&sol;环境配置&sol;Eclipse汉化字体快捷键&sol;API文档

    今天起开始学习Java,学习用书为Core Java.之前有过C的经验.准备把自己学习这一本书时的各种想法,不易理解的,重要的都记录下来.希望以后回顾起来能温故知新吧.也希望自己能够坚持把自己学习这本 ...

  7. MongoDB学习笔记&lpar;二&rpar; 通过samus驱动实现基本数据操作

    传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由(database).集合(collection).文档对象(documen ...

  8. Mongodb 学习笔记&lpar;二&rpar; :索引

    Mongodb 是基于集合建立索引 (Index),索引的作用类似于传统关系型数据库,目的是为了提高查询速度 . 如果没有建立索引, Mongodb  在读取数据时必须扫描集合中的 所有文档记录. 这 ...

  9. MongoDB 学习笔记之 入门安装和配置

    下载MongoDB: 下载解压即可使用. 为了启动方便和统一管理, 在Mongo根目录下建立/data, /logs, /conf文件夹. 在conf文件夹下建立mongodb.conf 文件,基本配 ...

随机推荐

  1. 常用Java排序算法

    常用Java排序算法 冒泡排序 .选择排序.快速排序 package com.javaee.corejava; public class DataSort { public DataSort() { ...

  2. 查看ssh服务开启状态

    root@dbaudit-desktop:/etc/init.d# /etc/init.d/ssh status * sshd is running 或者这样检查:root@dbaudit-deskt ...

  3. jQuery预加载插件

      插件描述:jQuery Fadeloader的插件可以让你轻松实现预加载到您的网站或部分使用级联渐显效果来显示特定的内容块(例如,头> MENU>内容>页脚) jQuery Fa ...

  4. TCP流量控制协议

    说明: 本文仅供学习交流.转载请标明出处,欢迎转载! 本文是下面文献相关内容的总结 [1] <TCP/IP具体解释 卷1:协议> [2] <TCP/IP协议族 第4版> [3] ...

  5. C&num;是否该支持&OpenCurlyDoubleQuote;try&sol;catch&sol;else”语法

    以前用过一段时间Python,里面有个try/catch/else语法,我觉得挺好用,这个语法形如下: try: print('try...') r = 10 / int('2') print('re ...

  6. SSL&sol;TLS 握手过程详解

    在现代社会,互联网已经渗透到人们日常生活的方方面面,娱乐.经济.社会关系等都离不开互联网的帮助.在这个背景下,互联网安全就显得十分重要,没有提供足够的安全保障,人们是不会如此依赖它的.幸运的是,在大牛 ...

  7. PL&sol;SQL Developer从11&period;0&period;6版本开始32&sol;64为之区分

    PL/SQL Developer从11.0.6版本开始32/64为之区分 在PL/SQL Developer11.0.6版本之前,64位Windows操作系统在使用PL/SQL Developer都未 ...

  8. js 实现获取当前日期&sol;时间&sol;星期

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. sqoop导入时删除string类型字段的特殊字符

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/sheismylife/article/details/29384357 假设你指定了\n为sqoop ...

  10. 洛谷 P1056 排座椅 桶排序

    桶排序大法好! 每次一看到这种范围小的题,本萌新就想用桶排. 因为题目中的m,n都小于1000,我们就可以定义两个1000的数组,表示每一行或每一列可以隔开几对讲话的童鞋. 然后再定义两个1000的数 ...