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

首先在下载页面下载对应版本的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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容