MongoDB是一个开源的NoSQL数据库,它使用BSON(类似于JSON)格式存储数据,MongoDB具有高性能、高可用性和易于扩展的特点,适用于各种规模的应用程序,在本教程中,我们将介绍如何安装和使用MongoDB,以及如何使用Python的pymongo库进行基本操作。
MongoDB的安装
1、下载MongoDB
访问MongoDB官方网站(https://www.mongodb.com/try/download/community)下载适合您操作系统的MongoDB Community Server安装包。
2、安装MongoDB
以Windows系统为例,双击下载好的安装包,按照提示进行安装,在安装过程中,可以选择自定义安装路径,建议将数据和日志文件存放在不同的磁盘上以提高性能。
3、配置环境变量
将MongoDB的安装路径下的bin
文件夹添加到系统的PATH
环境变量中,如果MongoDB安装在C:\Program FilesMongoDB\Server\4.4
目录下,则需要将C:Program Files\MongoDB\Server\4.4\bin
添加到PATH
环境变量中。
MongoDB的使用
1、启动MongoDB服务
打开命令提示符,输入以下命令启动MongoDB服务:
mongod --dbpath C:\data\db --logpath C:\data\log\mongodb.log --logappend --port 27017 --bind_ip 127.0.0.1 --auth
--dbpath
指定数据库文件存放路径,--logpath
指定日志文件存放路径,--port
指定端口号,--bind_ip
指定绑定IP地址,--auth
表示启用身份验证。
2、连接MongoDB
打开另一个命令提示符窗口,输入以下命令连接到MongoDB服务:
mongo --host 127.0.0.1 --port 27017 -u user -p password --authenticationDatabase admin
--host
指定主机地址,--port
指定端口号,-u
和-p
分别指定用户名和密码,--authenticationDatabase
指定身份验证数据库。
pymongo基本使用教程
1、安装pymongo库
使用pip安装pymongo库:
pip install pymongo
2、连接MongoDB
使用pymongo库连接到MongoDB服务:
from pymongo import MongoClient client = MongoClient('mongodb://user:password@localhost:27017')
3、选择数据库和集合
使用client['database_name']
选择数据库,使用client['database_name']['collection_name']
选择集合:
db = client['test_database'] collection = db['test_collection']
4、插入文档
使用insert_one()
或insert_many()
方法插入文档:
document = {"name": "张三", "age": 30, "city": "北京"} collection.insert_one(document) 插入单个文档 collection.insert_many([{"name": "李四", "age": 25, "city": "上海"}, {"name": "王五", "age": 28, "city": "深圳"}]) 插入多个文档
5、查询文档
使用find()
方法查询文档:
查询所有文档 for document in collection.find(): print(document)
6、更新文档
使用update_one()
或update_many()
方法更新文档:
更新单个文档中的某个字段值 collection.update_one({"name": "张三"}, {"$set": {"age": 31}})
7、删除文档和集合
使用delete_one()
或delete_many()
方法删除文档,使用drop()
方法删除集合:
删除单个文档中的某个字段值等于指定值的文档(相当于更新操作) collection.delete_one({"age": 30})
相关问题与解答栏目:Q&A:请简述一下关系型数据库和非关系型数据库的区别?A:关系型数据库(如MySQL、Oracle等)采用表格结构存储数据,数据之间存在严格的关联关系;非关系型数据库(如MongoDB、Redis等)采用键值对、文档、列族等结构存储数据,数据之间没有严格的关联关系,非关系型数据库通常具有更高的读写性能和更好的可扩展性。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/372484.html