zoukankan      html  css  js  c++  java
  • Mongodb基础知识

    前言

    MongoDB 是一个基于分布式文件存储的数据库。由C++ 语言编写。
    MongoDB 将数据存储为一个文档,数据结构由键值(Key->Value)对组成。
    MongoDB 文档类似于JSON 对象,字段值可以包含其他文档,数组及文档数组

    应用场景

    MongoDB 的应用已经渗透到各个领域,比如游戏、物流、电商、内容管理、社交、物联网、视频直播等,比如常用的应用场景有:
    ◆游戏场景:使用MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新
    ◆物流场景:使用MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以MongoDB 内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。
    ◆社交场景:使用MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能
    ◆物联网场景:使用MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析
    ◆视频直播:使用MongoDB 存储用户信息、礼物信息等

    Windows安装

    MongoDB 提供了可用于32 位和64 位系统的预编译二进制包,可以从MongoDB官网下载安装,MongoDB预编译二进制包下载地址:https://www.mongodb.com/download-center/community
    1、找到mongodb安装的bin目录
    2、将上面的bin目录添加到环境变量path下保存

    Linux安装

    从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center/community
    1、默认下载路径是到用户目录下的Downloads目录,将其解压:tar -zxvfmongodb-linux-x86_64-4.4.0.tgz
    2、将解压后的文件夹移动到/usr/local/的mongodb目录下:mv -r mongodb-linux-x86_64-4.4.0 /usr/local/mongodb
    3、配置系统文件profile(sudovi /etc/profile):插入下列内容:export MONGODB_HOME=/usr/local/mongodbexport PATH=(PATH:)MONGODB_HOME/bin注意保存后要重启系统配置:source /etc/profile

    启动Mongodb

    1.Windows启动
    cmd终端下执行mongo

    mongo
    


    2.Linux启动

    cd /usr/local/mongodb/bin
    ./mongod
    

    界面管理

    下载地址:https://www.mongodb.com/download-center/compass
    运行解压包中的exe文件,打开界面如下

    然后点击connect链接本地运行的mongdb数据库,如果是链接其他服务器请修改上面的地址

    常用命令

    一、登陆
    ◆mongo 127.0.0.1 # mongo命令行直接加MongoDB服务的IP地址,使用默认端口27017登陆MongoDB
    ◆mongo 127.0.0.1:10086 # 打开指定端口10086的MongoDB客户端。
    二、数据库级操作
    ◆show dbs# 查看数据库
    ◆use test # 使用指定库test,或直接创建数据库test,不过需要插入数据时,使用show dbs才能看到该库
    ◆show collections # 查看所有数据集
    ◆db# 查看当前使用的库◆db.dropDatabase() # 删除数据库
    三、Collection级操作
    ◆db.createCollection("user") # 新建collection,效果与使用db.user.insert({"user":"xxx"})类似。
    ◆db.user.drop() # 删除collection。
    ◆show collections # 查看所有collection。
    ◆db.user.renameCollection(“USER") # 重命名collection
    ◆db.user.remove({name:/mikezhou/}) # 删除集合中符合过滤条件的数据
    ◆db.user.remove({name:/mikezhou/},1) # 删除符合条件的一条记录
    四、Record级的操作
    ◆db.user.insert({'name':'mikezhou','age':20,'salary':10000}) # 向user插入数据
    ◆db.user.save({'name':'zhansan','age':30,'salary':13000}) # 向user插入数据并更新数据
    ◆db.user.find() # 查看集合所有记录
    ◆db.user.find({"age":26}) # 查找符合条件的记录: 相等
    ◆db.user.find({salary:{(gt:7000}}) # 查找符合条件的记录:大于 ◆db.user.find({name:/test/}) # 查找符合条件的记录:模糊匹配,如查看名称中包含‘test’的数据 ◆db.user.find({name:/^H/}) # 查询name以H打头的数据 ◆db.user.find({age:{)lt:30},salary:{(gt:6000}}) # 多条件与查询,如查询age小于30,salary大于6000的数据 ◆db.user.find({)or:[{salary:{(gt:10000}},{age:{)lt:25}}]}) # 多条件或查询,查询age小于25,或者salary大于10000的记录。五、对查询结果集的操作
    ◆db.user.find().pretty() # Pretty Print
    ◆db.user.find().limit(2) # 指定结果集返回条目
    ◆db.user.find().skip(1) # 查询第一条以外的数据
    ◆db.user.find().sort({salary:1}) # 对结果集排序: 升序
    ◆db.user.find().sort({salary:-1}) # 对结果集排序:降序
    ◆db.user.find().count() # 统计结果集中的记录数量

    数据备份

    在Mongodb中可以使用mongodump命令来备份MongoDB数据,该命令可以导出所有数据到指定目录中。
    mongodump命令脚本语法如下:mongodump -h dbhost -d dbname -o dbdirectory
    ◆-h:MongDB所在服务器地址,例如:127.0.0.1,也可以指定端口号:127.0.0.1:27017
    ◆-d:需要备份的数据库实例,例如:test
    ◆-o:备份的数据存放位置,例如:d:mongoackup

    数据恢复

    mongodb使用mongorestore 命令来恢复备份的数据。语法如下:mongorestore -h dbhost -d dbname --directoryperdb dbdirectory
    ◆-h:MongoDB所在服务器地址
    ◆-d:需要恢复的数据库实例,例如:test
    ◆--directoryperdb:备份数据所在位置,例如:d:mongoackup
    ◆--drop:恢复的时候,先删除当前数据,然后恢复备份的数据。

    数据导出

    直接导出数据到文件中./bin/mongoexport -d test -c user-o user.json
    在导出数据时没有显示指定导出样式,默认导出了JSON格式的数据。如果我们需要导出CSV格式的数据,则需要使用--csv参数:./bin/mongoexport -d test -c user--csv -f _id,name -o user.csv

  • 相关阅读:
    SSH免密码登陆备忘
    WeiBo官网oauth2开发文档理解
    TOP
    使用定位,逆地理编码,经纬度《=转=》地址信息、逆地理编码,地址《=转=》经纬度,贼方便!!!!
    计算机病毒分类之感染目标
    预处理
    指针与引用
    printf问题参数顺序
    神奇的求平均数
    C和C++的关系
  • 原文地址:https://www.cnblogs.com/huny/p/13888442.html
Copyright © 2011-2022 走看看