MongoDB入门教程
本教程将为大家介绍MongoDB, MongoDB是一款基于分布式文件存储的开源数据库,可以支持非结构化数据。这个教程包括了MongoDB的安装、常用命令、相关概念、使用技巧、常见操作等。下面将为大家详细讲解。
安装MongoDB
MongoDB可以支持多平台,如Windows,Linux,macOS等。下面给出Windows平台下的安装过程:
-
从MongoDB官网下载安装包(https://www.mongodb.com/download-center/community)。
-
安装MongoDB,双击安装包,一路Next直到完成。
-
配置MongoDB的环境变量。
-
启动MongoDB服务,在CMD命令行中输入以下命令:
mongod --dbpath=C:\data\db
其中,--dbpath
用来指定MongoDB数据存储的路径。若不指定,则数据默认存储在/data/db
下。
- 在新的命令行窗口中进入MongoDB Shell,输入以下命令:
mongo
若出现以下信息,则说明MongoDB连接成功:
MongoDB server version: x.xx.x
Welcome to the MongoDB shell.
常用命令
MongoDB有很多常用命令,下面介绍几个常用的命令:
-
show dbs
:查看已有的数据库。 -
use db_name
:新建一个数据库或者使用已有数据库。 -
show collections
:查看当前数据库中的所有集合。 -
db.collection.insert(document)
:向指定集合中插入文档。 -
db.collection.find()
:查看指定集合中的所有文档。 -
db.collection.update(query, update)
:更新指定集合中的文档。 -
db.collection.remove(query)
:删除指定集合中的文档。
相关概念
MongoDB中有一些相关的概念,下面介绍几个重要的概念:
-
集合(Collections):MongoDB中的一个集合类似于关系数据库中的表。
-
文档(Documents):MongoDB中的一个文档对应于关系数据库中的一行记录。
-
字段(Fields):MongoDB中的一个字段对应于关系数据库中的一列。
使用技巧
在使用MongoDB时,有一些技巧可以提高效率:
-
尽量使用原生语法,避免使用库中封装的高级接口。
-
数据库与表的设计对MongoDB的性能有影响,需要根据需求考虑设计。
-
创建索引可以极大的提高查询效率。
常见操作
- 插入数据
db.collection.insert({
"name": "Tom",
"age": 18,
"gender": "male"
})
- 查询数据
db.collection.find({"name": "Tom"})
查询所有数据:
db.collection.find()
- 更新数据
db.collection.update({"name": "Tom"}, {"$set": {"age": 20}})
- 删除数据
db.collection.remove({"name": "Tom"})
下面给出两个示例说明:
示例一:向集合中插入数据
- 进入MongoDB Shell,切换到
testdb
数据库。
use testdb
- 向
student
集合中插入一条学生记录。
db.student.insert({
"name": "Alice",
"age": 19,
"gender": "female",
"score": {"math": 80, "english": 90},
"hobby": ["swimming", "reading", "music"]
})
插入成功后,MongoDB会自动为该文档分配一个ID。
- 查询
student
集合中的所有文档。
db.student.find()
查询结果如下:
{ "_id" : ObjectId("5faca8d57a01781070cf1d0c"), "name" : "Alice", "age" : 19, "gender" : "female", "score" : { "math" : 80, "english" : 90 }, "hobby" : [ "swimming", "reading", "music" ] }
示例二:更新集合中的文档
- 更新
student
集合中名字为Alice
的学生的分数。
db.student.update({"name": "Alice"}, {"$set": {"score.math": 85}})
更新成功后,会返回以下信息:
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
- 再次查询
student
集合。
db.student.find()
查询结果如下:
{ "_id" : ObjectId("5faca8d57a01781070cf1d0c"), "name" : "Alice", "age" : 19, "gender" : "female", "score" : { "math" : 85, "english" : 90 }, "hobby" : [ "swimming", "reading", "music" ] }
总结
本教程详细的介绍了MongoDB的安装、常用命令、相关概念、使用技巧、常见操作等内容,并通过两个示例说明了MongoDB的使用。相信大家在学完本教程之后,能够掌握MongoDB的基本使用。