MongoDB数据库基础操作及实例
1. MongoDB数据库介绍
MongoDB是一款NoSQL(不仅仅是SQL)数据库,是非关系型数据库的一种。MongoDB将数据存储为一个文档,数据结构非常灵活。它支持类似于JSON的文档形式,也支持嵌套文档和数组的形式。
1.1 MongoDB的安装
在MongoDB官网(http://www.mongodb.org)下载安装包,安装到指定位置即可。不同平台的安装方式略有不同。
安装成功后,可以通过下面的命令启动MongoDB服务:
mongod
如果想要对MongoDB数据库进行操作,还需要通过Mongo Shell进入MongoDB命令行工具,启动命令如下:
mongo
2. MongoDB数据库基本操作
2.1 创建数据库
在MongoDB中,如果需要首先创建一个新的数据库,必须首先插入数据。这是因为MongoDB是一种文档数据库,必须至少有一个文档才可以创建新的数据库。
可以使用以下命令创建一个新的文档并将其插入到数据库中:
db.test.insert({})
运行以上命令后,MongoDB将在test数据库中自动创建一个新的集合test并将空文档插入其中。
2.2 插入数据
要向MongoDB数据库中插入文档,可以使用以下命令:
db.collection.insert(document)
其中,collection为集合名称,document为需要插入的文档。例如,将一个名为"John"、年龄为25的文档插入到test集合中:
db.test.insert({"name": "John", "age": 25})
插入多个文档可以使用以下命令:
db.collection.insert([document1, document2, ..., documentN])
2.3 查询数据
在MongoDB中,要查询集合中的数据,可以使用以下命令:
db.collection.find(query, projection)
其中,query为查询条件,projection为需要查询的字段。例如,查询test集合中所有年龄在20岁以上的文档内容:
db.test.find({"age": {"$gt": 20}})
2.4 更新数据
在MongoDB中,要更新集合中的数据,可以使用以下命令:
db.collection.update(conditions, update, options)
其中,conditions为查询条件,update为需要更新的字段和对应的值,options为更新选项。例如,将test集合中所有年龄大于30岁的文档年龄字段增加2岁:
db.test.update({"age": {"$gt": 30}}, {"$inc": {"age": 2}}, {"multi": true})
2.5 删除数据
在MongoDB中,要删除集合中的数据,可以使用以下命令:
db.collection.remove(conditions)
其中,conditions为查询条件。例如,删除test集合中名字为"John"的文档:
db.test.remove({"name": "John"})
3. MongoDB数据库实例
3.1 数据库实例概述
本实例将使用一个名为"students"的数据库进行操作,其中包含一个名为"grades"的集合,该集合存储了学生的姓名、成绩等信息。
3.2 创建数据库和集合
通过Mongo Shell创建一个名为"students"的数据库,并在其中创建一个名为"grades"的集合:
use students
db.createCollection("grades")
3.3 插入数据
向"grades"集合中插入3条文档:
db.grades.insert([
{"name": "Alice", "score": 98},
{"name": "Bob", "score": 87},
{"name": "Tom", "score": 95}
])
3.4 查询数据
查询所有的文档:
db.grades.find()
查询成绩大于等于90分的文档:
db.grades.find({"score": {"$gte": 90}})
只查询姓名和成绩两个字段:
db.grades.find({}, {"name": 1, "score": 1, "_id": 0})
3.5 更新数据
将名为"Bob"的学生的成绩修改为90分:
db.grades.update({"name": "Bob"}, {"$set": {"score": 90}})
3.6 删除数据
删除所有成绩在85分以下的学生文档:
db.grades.remove({"score": {"$lt": 85}})
总结
本文介绍了MongoDB数据库的基本操作,包括创建数据库和集合、插入数据、查询数据、更新数据和删除数据。并通过一个实例展示了MongoDB数据库的具体应用。