Python中mongodb使用
阿新 • • 發佈:2017-09-05
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使用