mongoDB安装与pymongo的使用

mongoDB安装与pymongo的使用

安装

推荐docker-compose安装:

  • 环境需求:
    • docker
    • docker-compose
  • docker-compose文件
version: '2'
services:
  mongo-container:
    image: mongo:3.4
    container_name: mongodb
    environment:
        - MONGO_INITDB_ROOT_USERNAME=root
        - MONGO_INITDB_ROOT_PASSWORD=123456
    ports:
      - "27017:27017"
    volumes:
      - "./data/mongo:/data/db"
      - "./data/mongo-entrypoint/:/docker-entrypoint-initdb.d/" # 此配置可以自定义一些初始化命令
    command: mongod
  • 自定义一些初始化命令(可选)
    • 在./data/mongo-entrypoint目录下(上面配置里的路径对应)创建docker-entrypoint-initdb.sh(名字自起,.sh结尾即可)内容如下:
    • 以下命令创建了hi数据库并且给该数据库分配了一个’test’用户
#!/usr/bin/env bash
echo "Creating mongo users..."
mongo admin --host localhost -u root -p 123456 --eval "db.createUser({user: 'admin', pwd: '123456', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]});"
mongo admin -u root -p 123456 << EOF
use hi
db.createUser({user: 'test', pwd: '123456', roles:[{role:'readWrite',db:'hi'}]})
EOF
echo "Mongo users created."

  • 启动
docker-compose up -d

pymongo连接与使用

import pymongo

# 连接
client = pymongo.MongoClient("mongodb://root:123456@jd:27017/admin")

# mongoDB不用特意创建数据库与集合,当集合中首次插入数据时,他们自动的就创建了
db = client["mydb"]  # 数据库
collect = db["mycollect"]  # 集合

# 删除集合,当数据库下所有集合被删除时,数据库也自动删除了
collect.drop()

data = {
        'name': 'Bob'
        'age': '12'
    }

# 插入数据,返回数据的 _id 或者 [_id1,id2]
result = collect.insert(data)
result = collect.insert([data1,data2])

# 查询
collect.find_one({'name': 'Bob'})
collect.find({'name': 'Bob'})

# 更新
condition = {'name': 'Bob'}
student = collection.find_one(condition)
student['age'] = 25
result = collection.update(condition, student)

# 删除
result = collection.remove({'name': 'Bob'})
  • 更多详细用法 这里
  • 文档:
    • https://api.mongodb.com/python/current/api/pymongo/collection.html
    • https://api.mongodb.com/python/current/api/pymongo/
  • 个人网站 mew.wiki

你可能感兴趣的:(数据库)