1.简介

MongoDB是一个基于分布式文件存储的文档数据库,可以说是非关系型(NoSQL,Not Only SQL)数据库中比较像关系型数据库的一个,具有免费、操作简单、面向文档、自动分片、可扩展性强、查询功能强大等特点,对大数据处理支持较好,旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于JSON对象。字段值可以包含其他文档,数组及文档数组。

2.应用

MongoDB数据库可以到网站https://www.mongodb.org/downloads下载,安装之后打开命令提示符环境并切换到MongoDB安装目录中的server\3.2\bin文件夹,然后执行命令mongod --dbpath D:\data --journal -- storageEngine=mmapv1启动MongoDB,当然需要首先在D盘根目录下新建文件夹data。

让刚才那个命令提示符环境始终处于运行状态,然后再打开一个命令提示符环境,执行mongo命令连接MongoDB数据库,如果连接成功的话,会显示一个>符号作为提示符,之后就可以输入MongoDB命令了。

打开或创建数据库students

>use students

在数据库中插入数据

>zhangsan = {‘name': ‘Zhangsan', ‘age': 18, ‘gender': ‘male'}>db.students.insert(zhangsan)>lisi = {‘name': ‘Lisi', ‘age': 19, ‘gender': ‘male'}>db.students.insert(lisi)

查询数据库中的记录

>db.students.insert(lisi)

查询数据库中的记录

>db.students.find()

查看系统中所有数据库名称

>show dbs

3.pymongo模块

#! /usr/bin/env python3# -*- coding:utf-8 -*-# Author : MaYi# Blog : http://www.cnblogs.com/mayi0312/# Date : 2019-12-25# Name : test01# Software : PyCharm# Note : 应用pymongo模块操作MongoDB数据库# 导入模块import pymongo# 连接数据库,27017是默认端口client = pymongo.MongoClient("localhost", 27017)# 获取数据库db = client.students# 打印数据集合名称列表print(db.collection_names)# 获取数据集合res = db.students.find()print(res)for item in res: # 遍历数据 print(item)wangwu = {"name": "Wangwu", "age": 20, "sex": "male"}# 插入一条记录db.students.insert(wangwu)for item in db.students.find({"name": "Wangwu"}): # 指定查询条件 print(item)# 获取一条记录print(db.students.find_one())print(db.students.find_one({"name": "Wangwu"}))# 记录总数print(db.students.find().count())# 删除一条记录db.students.remove({"name": "Wangwu"})# 创建索引db.students.create_index([("name", pymongo.ASCENDING)])# 更新数据库db.students.update({"name": "Zhangsan"}, {"$set": {"age": 25}})# 清空数据库db.students.remove()# 插入多条数据zhangsan = {"name": "Zhangsan", "age": 20, "gender": "male"}lisi = {"name": "Lisi", "age": 21, "gender": "male"}wangwu = {"name": "Wangwu", "age": 22, "gender": "female"}db.students.insert_many([zhangsan, lisi, wangwu])# 对查询结果排序for item in db.students.find().sort("name", pymongo.ASCENDING): print(item)# 入口函数if __name__ == '__main__': pass

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。