1. 程式人生 > >Python中mongodb使用

Python中mongodb使用

col host 保存 mongo true ids any 索引 conn

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使用