MongoDB的安装配置以及使用Python进行操作

作者: SHISHENGJIA | 来源:发表于2017-07-13 22:22 被阅读594次

    首先在下载页面下载对应版本的MongoDB,下面以windows平台为例。

    设置MongoDB服务

    1.将MongoDB安装在F:/mongodb,然后创建数据存放位置F:/mongodb/data/db
    2.F:/mongodb/data/下新建一个log文件夹,在该文件夹下创建mongodb.log文件
    3.F:/mongodb下新建mongo.config,并添加以下内容:

    dbpath=F:\mongodb\data\db
    logpath=F:\mongodb\data\log\mongodb.log
    

    4.以管理员身份打开cmd,并进入F:/mongodb/bin,输入以下命令:

    mongod --config F:\mongodb\mongo.config --install --serviceName "MongoDB" --journal 
    

    5.执行net start mongoDB命令即可开启服务
    6.为了方便,在系统变量的Path中添加MongoDB bin文件所在目录F:/mongodb/bin,然后使用mongo命令进入数据库

    使用Python操作MongoDB数据库

    首先安装相应模块。

    pip install pymongo
    

    下面以一个小demo介绍基本操作。

    # -*- coding: utf-8 -*-
    from pymongo import MongoClient
    from datetime import datetime
    from bson.objectid import ObjectId
    
    
    class Test:
        def __init__(self):
            """
            连接MongoClient
            由3种方法可以选择,看使用情况
            """
            # 简写
            self.client = MongoClient()
            # 指定端口和地址
            # self.client = MongoClient('127.0.0.1', 27017)
            # 使用URI
            # self.client = MongoClient('mongodb://127.0.0.1:27017/')
    
            # 选择数据库
            self.db = self.client['test']
    
        def add_one(self, title, number, created_time=datetime.now()):
            """
            添加一条数据
            需要注意的是Mongo中不需要事先建立表,插入数据的同时直接根据所传入字典对象的内容生成表
            """
            # 创建一个字典对象
            post = {
                'title': title,
                'number': number,
                'created_time': created_time
            }
            # 指定将数据添加到blog下的post表
            return self.db.blog.post.insert_one(post)
    
        def find_by_id(self, post_id):
            """
            通过ID查找数据
            Mongo中自动生成的ID主键是ObjectId(id)的形式,所以在查询的时候要遵循该格式
            从bson.objectid导入ObjectId
            """
            return self.db.blog.post.find_one({'_id': ObjectId(post_id)})
    
        def update_number(self, post_id, number):
            """
            更新一条数据
            在update_one函数中,通过第一个参数查找更新对象,通过第二个参数对查找到的对象进行更新
            下面语句的含义是对指定ID的数据的number字段加上一个number值,通过 $inc 实现
            """
            return self.db.blog.post.update_one({'_id': ObjectId(post_id)}, {'$inc': {'number': number}})
    
        def update_all_number(self, number):
            """
            批量更新
            update_many函数参数的作用同update_one
            {} 表示没有查找限制,更新全部的数据
            """
            return self.db.blog.post.update_many({}, {'$inc': {'number': number}})
    
        def delete_by_id(self, post_id):
            """
            根据ID删除,同样注意id值的格式
            """
            return self.db.blog.post.delete_one({'_id': ObjectId(post_id)})
    

    MongoDB可视化工具

    Robo 3T

    在Tree Mode下查看数据

    image.png
    在Table Mode下查看数据
    image.png
    在Text Mode下查看数据
    image.png

    相关文章

      网友评论

        本文标题:MongoDB的安装配置以及使用Python进行操作

        本文链接:https://www.haomeiwen.com/subject/gcughxtx.html