Mongodb数据库快速开发

in #starnote • 6 days ago (edited)

mongodb.jpg

MongoDB 是一个开源的文档型 NoSQL 数据库,用 C++ 编写,2009 年发布。与关系数据库不同, MongoDB允许开发者存储丰富的类似JSON的文档,这些文档自然映射到他们在代码中使用的对象。多应用在内容管理系统、博客文章存储、用户画像、商品目录、日志、物联网数据、实时分析和大数据处理等场景。
-> 前往星空笔记

Sort:  

版本 |
安装 |
mongosh版本 |
mongosh文档 |

系统:Ubuntu 24.04.4 LTS (GNU/Linux 6.8.0-111-generic x86_64)
安装版本:mongodb-org-server_9.0.2
mongodb-mongosh_2.13.0

// Ubuntu 24.04.4 LTS (GNU/Linux 6.8.0-111-generic x86_64)
apt update 
wget https://repo.mongodb.org/apt/ubuntu/dists/noble/mongodb-org/9.0/multiverse/binary-amd64/mongodb-org-server_9.0.2_amd64.deb
dpkg -i ./mongodb-org-server_9.0.2_amd64.deb
//客户端 mongosh
wget https://downloads.mongodb.com/compass/mongodb-mongosh_2.13.0_amd64.deb
dpkg -i ./mongodb-mongosh_2.13.0_amd64.deb

//查看安装
ls -l /usr/bin | grep mongod
ls -l /usr/bin | grep mongosh
1、安装好后添加环境变量
2、在默认的C盘下创建数据目录 c:/data/db
3、启动
cd C:\Program Files\MongoDB\Server\4.0\bin
mongod
//在默认的C盘下创建数据目录 c:/data/db

//使用另外的存储路径
  mongod.exe --dbpath D:\MongoDB\Server\4.0\data

4、mongo 连接即可 exit退出
5、基本命令
  show dbs     //查看所有数据库
  db           //当前数据库
  use dbname  //切换指定数据库(没有则新建)

  //直接可以放集合students(当前没有students则新建)中插入数据
  db.students.insertOne({"name":"lemool"})

  show collections  //查看集合
  db.students.find() //查看集合中的所有数据
Loading...

快速拉起数据库的服务,一般用于开发和测试,开发环境用systemctl来启动运行。

/usr/bin/mongod --config /etc/mongod.conf     //无权限
/usr/bin/mongod --config /etc/mongod.conf --auth  //打开权限

//查看运行
ps -ef | grep mongo

开发环境用systemctl来启动运行。

systemctl start mongod
systemctl stop mongod
systemctl restart mongod

systemctl status mongod  //查看状态
ps -ef | grep mongo
Loading...
mongosh 
//切换数据库
use test 
//创建集合
db.createCollection(name, options), eg: db.createCollection("info")
//显示集合
show collections
//删除集合
db.collection.drop(), eg: db.info.drop()
//删除当前数据库
db.dropDatabase()  

//插入记录 insertOne insertMany
db.COLLECTION_NAME.insertOne(document)
eg: 
  >db.info.insertOne({title: 'MongoDB 教程44', 
      description: 'MongoDB 是一个 Nosql 数据库5',
      by: '菜鸟教程',
      url: 'http://www.runoob.com',
      tags: ['mongodb', 'database', 'NoSQL'],
      likes: 100
  })
//查找记录
db.info.find().pretty()

mongodb图示

MongoDB非常灵活,不需要像MySQL一样创建数据库、表、设计表结构。它只需要向指定的数据库集合插入即可。
MongoDB可以有多个数据库,一个数据库可以有多个集合(表),一个集合可以有多个文档(表记录),可以有相同的表结构,也可以不同。