Python中mongodb使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中mongodb使用相关的知识,希望对你有一定的参考价值。

MongoDB的层级为 database -->collection --> document

安装MongoDB,启动mongo服务

安装Python的mongo模块

pip install pymongo

安装完后查看

pip list

技术分享

模块引用

import pymongo

建立连接

import pymongo
from pymongo import MongoClient
client = MongoClient(localhost,27017)
#client = MongoClient(‘mongodb://localhost:27017‘)

访问数据库

当前所使用的数据库test的users

技术分享

 

db = client.test
users = db.users
#或者db = client[‘users‘]

插入文档

文档就是一行,集合就是一个表

一个insert_one()

user1 = {"name":"li8","age":8}
rs = users.insert_one(user1)
print(one insert:{0}.format(rs.inserted_id))

技术分享

多个 insert_many()

user2 = {"name":"li9","age":9}
user3 = {"name":"li10","age":10}
user4 = {"name":"li11","age":11}
user5 = {"name":"li12","age":12}
new_result = users.insert_many([user2, user3, user4, user5])
print(Multiple users: {0}.format(new_result.inserted_ids))

技术分享

检索文档

一个find_one()

usertmp = users.find_one({"age":33})
print(usertmp)

技术分享

多个find()

rs = users.find({age: 33})
for tmp in rs:
    print(tmp)

技术分享

高级查询

rs = users.find({age:{"$lt":30}}).sort("name")
for tmp in rs:
    print(tmp)

技术分享

统计数量

print(users.count())

加索引

from pymongo import ASCENDING, DESCENDING
print(users.create_index([("age", DESCENDING), ("name", ASCENDING)]))

技术分享

 

MongoEngine是一个对象文档映射器(ODM),相当于一个基于SQL的对象关系映射器(ORM)

MongoEngine提供的抽象是基于类的,创建的所有模型都是类

 安装

pip install mongoengine

使用

from mongoengine import *
connect(test, host=localhost, port=27017)
import datetime
class Users(Document):
    name = StringField(required=True, max_length=200)
    age = IntField(required=True)

users = Users.objects.all()
for u in users:
    print("name:",u.name,",age:",u.age)

技术分享

保存

from mongoengine import *
connect(test, host=localhost, port=27017)
import datetime
class Users(Document):
    name = StringField(required=True, max_length=200)
    age = IntField(required=True)
user1 = Users(
    name=zz,
    age= 11
)
user1.save()   
print(user1.name)
user1.name = zz11
user1.save()       
print(user1.name)

技术分享

 

以上是关于Python中mongodb使用的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB PHP

Python 向 Postman 请求代码片段

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

使用 Python 代码片段编写 LaTeX 文档

无法在 MongoDB(猫鼬)文档中追加数组

13 个非常有用的 Python 代码片段