You need to enable JavaScript to run this app.
导航

MongoDB文档数据库创建及简单的CRUD

最近更新时间2022.02.24 13:38:55

首次发布时间2022.02.24 13:38:55

前言

MongoDB 本质上还是一个文档数据库,具有很强的横向扩展能力,以及灵活模型,特别适合迭代开发,数据模型多变场景。在本教程中,您将学习如何创建 MongoDB,并使用客户端连接,生产数据并进行查询。

关于实验

预计部署时间:30分钟
级别:初级
相关产品:文档数据库 MongoDB 版
受众: 通用

环境说明
  1. 如果还没有火山引擎账号,点击此链接注册账号

  2. 如果您还没有VPC,请先点击链接创建VPC

  3. 文档数据库 MongoDB 版

  4. 云服务器ECS:Centos 7

  5. 在ECS主机上准备 Python 运行环境

实验步骤

步骤1:创建 MongoDB

  1. 点击进入MongoDB控制台

  2. 点击创建实例,进入到如下界面并填写实例名称,实例类型共有两种,一种为副本集,一种为分片集群,我们这里选择副本集。选择适用于您业务的节点规格,这里选择mongo.2c4g。接着选择节点数以及存储空间。
    alt

  3. 接上一个步骤,我们需要选择实例放置的VPC,可用区,以及用户名密码,如下图:
    alt

  4. 点击右下角的确认订单,进入到确认订单页面,请点击 我已阅读并同意《文档数据库 MongoDB 版服务条款》 ,然后点击立即购买,等待一会儿完成创建。

步骤2:设置连接管理

等待集群可用之后,点击到实例详情页,选择 连接管理 ,这里我们申请公网访问地址:
alt
:开启切换至公有网络会发生连接闪断,请确保您的服务有重连机制或连接方式正确

步骤3:使用python 操作 MongoDB

3.1 安装MongoDB驱动 并检查驱动

pip install pymongo

在交互模式下检查驱动是否安装正确

(base) [root@rudonx ~]# python
Python 3.9.5 (default, Jun  4 2021, 12:28:51) 
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type  help ,  copyright ,  credits  or  license  for more information.
>>> 
>>> 
>>> import pymongo
>>> pymongo.version
'3.12.0'

3.2 使用驱动连接MongoDB

在Python 交互模式下运行如下代码查看client相关信息

from pymongo import MongoClient

uri =  mongodb://root:xxxxxx@mongodb-endpoint 
client = MongoClient(uri)
print(client)

3.3 在MongoDB中创建表并插入数据

test_db = client[ lxb ]
test_coll = test_db[ test_table ]
result = test_coll.insert_one({
     string :  Hello Bytedance 
})
print(result)

3.4 检索表中的数据

result = test_coll.find_one({
     string :  Hello Bytedance 
})
print(result)

3.5 更新表中的数据

result = test_coll.update_one({
     string :  Hello Bytedance 
}, {
     $set : {
         string1 :  Hello MongoDB 
    }
})
result = test_coll.find_one({
     string :  Hello Bytedance 
})
print(result)

输出结果如下:

{'_id': ObjectId('620b5d321848724fe6f08dcb'), 'string': 'Hello Bytedance'}
{'_id': ObjectId('620b5d321848724fe6f08dcb'), 'string': 'Hello Bytedance', 'string1': 'Hello MongoDB'}

3.6 从表中进行删除

result = test_coll.delete_one({
     string :  Hello Bytedance 
})
print(result)

输出结果如下:
<pymongo.results.DeleteResult object at 0x7f97dc31f880>

完整的脚本如下:

from pymongo import MongoClient

uri =  mongodb://root:xxxxxx@mongodb-endpoint 
client = MongoClient(uri)
print(client)

test_db = client[ lxb ]
test_coll = test_db[ test_table ]
result = test_coll.insert_one({
     string :  Hello Bytedance 
})
print(result)

result = test_coll.find_one({
     string :  Hello Bytedance 
})
print(result)

result = test_coll.update_one({
     string :  Hello Bytedance 
}, {
     $set : {
         string1 :  Hello MongoDB 
    }
})
result = test_coll.find_one({
     string :  Hello Bytedance 
})
print(result)

result = test_coll.delete_one({
     string :  Hello Bytedance 
})
print(result)

步骤4:删除集群

您可以从 MongoDB 控制台中轻松删除 mongo 集群。您可以删除不再使用的实例,以免继续为其付费。您可以选择 创建备份并删除实例 或是 不保留备份
alt
如果您有其他问题,欢迎您联系火山引擎技术支持服务