MongoDb的基本操作快速入门
发布日期:2025-04-14 17:46:21 浏览次数:9 分类:精选文章

本文共 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,熟悉其文档数据库的特点和操作方式。

    上一篇:MongoDB的安装、启停和常用命令(五分钟入门)
    下一篇:mongodb的一些语句使用

    发表评论

    最新留言

    表示我来过!
    [***.240.166.169]2025年05月01日 21时21分48秒