博客
关于我
MongoDb的基本操作快速入门
阅读量:794 次
发布时间:2023-02-09

本文共 2435 字,大约阅读时间需要 8 分钟。

MongoDB简介及安装与操作指南

MongoDB简介

MongoDB是一款基于分布式存储的开源数据库系统,常被称为文档数据库。与传统的关系型数据库不同,MongoDB将数据存储为文档形式,每个文档由键值对(key-value pairs)组成,类似于JSON对象(BSON转化为JSON格式)。其内置执行引擎采用JS解释器,将文档存储为BSON格式,并在查询时将其转换为JS对象,使开发者能够利用熟悉的JS语法进行操作。

MongoDB与传统数据库的主要区别

  • 传统型数据库:结构化数据,表结构固定,所有行的内容必须符合表结构,列的个数及类型一致。
  • 文档数据库:文档存储的每篇文章可以有独特的结构或属性和值,数据灵活性更高。

MongoDB安装指南(CentOS7环境下)

1.下载MongoDB安装包

# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.4.tgz

2.解压并安装

# tar -xvf mongodb-linux-x86_64-rhel70-3.4.4.tgz -C /usr/local

3.启动MongoDB服务

进入解压目录并重命名:

# cd /usr/local# mv mongodb-linux-x86_64-rhel70-3.4.4 mongodb# cd mongodb

创建数据目录并启动服务:

# mkdir -p /home/mongodata/{dbpath}/var/log/mongolog/# ./bin/mongod --dbpath /home/mongodata/ --logpath /var/log/mongolog/mongo.log --fork --port 27017

4.连接MongoDB

# ./bin/mongo

注意:在老版本中,MongoDB在启动时会占用较多磁盘空间,建议使用--smallfiles选项减少占用空间至400MB左右。

MongoDB基本操作示例

1.入门操作

查询所有库列表

> show dbs

切换数据库

> use local

创建数据库

> use shop# 或直接使用 use 后的数据库名称(库会自动创建)

创建集合(集合类似于传统数据库的表)

> db.createCollection('user')

插入数据

单篇文档插入
> db.user.insert({name: '张三', age: 18})
多篇文档插入
> db.user.insert([{name: '李四', age: 20}, {name: '王五', age: 25}])
指定ID插入
> db.user.insert({_id: 2, name: '赵六', age: 30})

查询数据

查询所有文档
> db.user.find()
查询特定字段
> db.user.find({},{name: 1})  # 查询name字段> db.user.find({},{name: 1, _id: 0})  # 查询name字段,忽略_id

删除操作

删除单篇文档
> db.user.remove({name: '张三'})
删除多篇文档
> db.user.remove()
删除指定文档
> db.user.remove({name: '李四', age: 20}, true)

2.增删改查(CURD操作)

增操作(Insert)

  • 插入单篇文档
> db.collection.insert({sn: '001', name: '小明'})
  • 插入多篇文档
> db.collection.insert([{sn: '002', name: '小红'},{sn: '003', name: '小蓝'}])
  • 指定ID插入
> db.collection.insert({_id: 2, sn: '004', name: '小强'})

删操作(Delete)

  • 删除指定文档
> db.collection.remove({sn: '002'})
  • 删除所有文档
> db.collection.remove()
  • 删除指定文档(仅删除一行)
> db.collection.remove({name: '张三'}, true)

改操作(Update)

  • 更新指定字段
> db.collection.update({name: '张三'}, {$set: {name: '张三变了'}})
  • 执行多行更新
> db.collection.update({name: '张三'}, {$set: {name: '张三变了'}}, {multi: true})
  • 插入新文档(upsert)
> db.collection.update({_id: 100}, {name: '李四'}, {upsert: true})

查操作(Find)

  • 查询所有文档
> db.collection.find()
  • 查询指定字段
> db.collection.find({},{name: 1})  # 查询name字段> db.collection.find({},{name: 1, _id: 0})  # 忽略_id字段

注意事项

  • MongoDB在启动时可能占用较多磁盘空间,建议使用--smallfiles选项减少占用空间。
  • 查询表达式匹配文档时,需要以JSON对象形式提供。
  • 更新操作默认只修改一行数据,使用multi选项可修改多行。
  • MongoDB优化建议

  • 定期备份数据库,确保数据安全。
  • 使用合适的索引优化查询性能。
  • 分布式处理大数据量时,采用分片(Shard)技术。
  • 配置合理的日志存储路径,防止磁盘过载。
  • 通过以上操作,您可以快速上手MongoDB,熟悉其文档数据库的特点和操作方式。

    转载地址:http://dsffk.baihongyu.com/

    你可能感兴趣的文章
    Mtab书签导航程序 LinkStore/getIcon SQL注入漏洞复现
    查看>>
    myeclipse配置springmvc教程
    查看>>
    MyEclipse配置SVN
    查看>>
    MTCNN 人脸检测
    查看>>
    MyEcplise中SpringBoot怎样定制启动banner?
    查看>>
    MyPython
    查看>>
    MTD技术介绍
    查看>>
    MySQL
    查看>>
    MySQL
    查看>>
    mysql
    查看>>
    MTK Android 如何获取系统权限
    查看>>
    MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
    查看>>
    MySQL - ERROR 1406
    查看>>
    win11系统无法打开软件_组策略无法打开_gpedit.msc不生效_为了对电脑进行保护,已经阻止此应用---Windows工作笔记057
    查看>>
    mysql - 视图
    查看>>
    MySQL - 解读MySQL事务与锁机制
    查看>>
    MTTR、MTBF、MTTF的大白话理解
    查看>>
    Mysql ---- case的使用及case的嵌套
    查看>>
    Mysql -------- data 函数
    查看>>
    mt_rand
    查看>>