第一次接触MongoDB,第一次部署。将一些步骤整理出来,希望以后会用到,也希望能帮组到有这方面需求的小伙伴。
设备说明:
服务器为阿里云ECS服务器,网络为专有网络VPC,Mango为买的阿里云Mango。各种申请事项和购买才做就不说,下面开始正文。
进入阿里云MangoDB管理界面的时候,处理一些设置(白名单,登陆数据库等操作)
使用Mongo shell连接阿里云MongoDB
进入到MongoDB的目录,进入bin里
mongo --host dds-xxxx.mongodb.rds.aliyuncs.com:3717 -u root -p Ft123456 --authenticationDatabase admin
#dds-xxxx.mongodb.rds.aliyuncs.com 为结点数据库的url地址
#3717 为端口号
# -u 用户名
# -p 密码
#authenticationDatabase 使用的数据库
代码连接阿里云MongoDB,下面介绍两种方法。
1.MongoEngine连接MongoDB
from mongoengine import connect
connect('mongotext',
username='text',
password='zheshiyigecehsi',
host='dds-text1736187381.mongodb.rds.aliyuncs.com',
port=3717,)
#mangotext 为连接的数据库
2.PyMongo连接MongoDB
import uuid
from pymongo import MongoClient
#两地址
CONN_ADDR1 = 'demotest-1.mongodb.tbc3.newtest.rdstest.aliyun-inc.com:27017'
CONN_ADDR2 = 'demotest-2.mongodb.tbc3.newtest.rdstest.aliyun-inc.com:27017'
REPLICAT_SET = 'mgset-1441984463'
username = 'demouser'
password = '123456'
#获取mongoclient
client = MongoClient([CONN_ADDR1, CONN_ADDR2], replicaSet=REPLICAT_SET)
#授权. 这里的user基于admin数据库授权
client.admin.authenticate(username, password)
#使用test数据库的collection:testColl做例子, 插入doc, 然后根据DEMO名查找
demo_name = 'python-' + str(uuid.uuid1())
print 'demo_name:', demo_name
doc = dict(DEMO=demo_name, MESG="Hello ApsaraDB For MongoDB")
doc_id = client.test.testColl.insert(doc)
print 'doc_id:', doc_id
for d in client.test.testColl.find(dict(DEMO=demo_name)):
print 'find documents:', d