注册

MongoDB数据库基础知识整理

MongoDB数据库基础知识整理

什么是MongoDB

MongoDB是一个开源、面向文档、基于NoSQL的数据库程序,使用C++语言编写。它支持丰富的查询功能和可扩展性架构,且具有高可用性、高性能和易扩展的特点。MongoDB的数据结构是文档型的,不使用传统的表格结构,而使用BSON(二进制编码的JSON格式)进行存储。

MongoDB的应用场景

MongoDB在以下场景中有着广泛应用:

  • 互联网应用:如博客、新闻网站等需要存储大量数据的应用。
  • 大数据处理:MongoDB适合海量非结构化的数据存储与处理,如日志、计算机系统监控信息等。
  • 科学研究:MongoDB支持复杂的科学计算和数据分析,可集成到科学计算工作流中。
  • 物联网:MongoDB支持高并发的数据插入和检索操作,适合物联网大量传感器设备的数据存储。

MongoDB的基本操作

启动MongoDB

若MongoDB已安装在本地,可以使用以下命令启动:

mongod

连接MongoDB数据库

使用以下命令连接到MongoDB数据库:

mongo

创建/查看数据库

使用以下命令创建或查看数据库:

use example  // 创建名为example的数据库
show dbs  // 列举所有数据库

创建/查看集合

使用以下命令创建或查看集合:

db.createCollection("users")  // 创建名为users的集合
show collections  // 列举数据库中的所有集合

插入数据

使用以下命令插入数据:

db.users.insertOne({'name': 'John Doe', 'age': 25, 'email': 'johndoe@example.com'})  // 插入一条记录
db.users.insertMany([{'name': 'Jane Doe', 'age': 24, 'email': 'janedoe@example.com'}, {'name': 'Bob Smith', 'age': 30, 'email': 'bobsmith@example.com'}])  // 插入多条记录

查询数据

使用以下命令查询数据:

db.users.find()  // 查询users集合中的所有记录
db.users.findOne({'name': 'John Doe'})  // 查询users集合中name为John Doe的记录

更新数据

使用以下命令更新数据:

db.users.updateOne({'name': 'John Doe'}, {$set: {'age': 26}})  // 更新users集合中name为John Doe的记录的age字段为26
db.users.updateMany({'age': 30}, {$set: {'age': 31}})  // 更新users集合中age为30的记录的age字段为31

删除数据

使用以下命令删除数据:

db.users.deleteOne({'name': 'John Doe'})  // 删除users集合中name为John Doe的记录
db.users.deleteMany({'age': 30})  // 删除users集合中age为30的所有记录

示例说明

示例1:创建一个名为products的数据库,并在其中创建一个名为books的集合,插入两条记录,再将其中一条记录的作者字段更新为"Jane Doe"。

use products  // 创建名为products的数据库
db.createCollection("books")  // 创建名为books的集合
db.books.insertMany([{'name': 'The Great Gatsby', 'author': 'F. Scott Fitzgerald'}, {'name': 'To Kill a Mockingbird', 'author': 'Harper Lee'}])  // 插入两条记录
db.books.updateOne({'name': 'The Great Gatsby'}, {$set: {'author': 'Jane Doe'}})  // 更新名为The Great Gatsby的记录的作者字段为Jane Doe

示例2:查询books集合中作者为"Harper Lee"的记录,并将其从books集合中删除。

db.books.find({'author': 'Harper Lee'})  // 查询作为Harper Lee的记录
db.books.deleteOne({'author': 'Harper Lee'})  // 删除作为Harper Lee的记录

总结

本文简要介绍了MongoDB的基本知识,包括MongoDB的定义、应用场景以及基本操作。同时提供了两个例子以帮助读者更好地掌握MongoDB的实际应用,希望对想要了解MongoDB的读者有所帮助。