1. 程式人生 > >Python操作MongoDB(PyMongo模塊的使用)

Python操作MongoDB(PyMongo模塊的使用)

now() xpl functions lfa 數據 god names use pda

#!/usr/bin/env python #coding:utf-8 # Author: --<qingfengkuyu> # Purpose: MongoDB的使用 # Created: 2014/4/14 #32位的版本最多只能存儲2.5GB的數據(NoSQLFan:最大文件尺寸為2G,生產環境推薦64位) import pymongo import datetime import random #創建連接 conn = pymongo.Connection(‘10.11.1.70‘,27017) #連接數據庫 db = conn.study #db = conn[‘study‘]
#打印所有聚集名稱,連接聚集 print u‘所有聚集:‘,db.collection_names() posts = db.post #posts = db[‘post‘] print posts #插入記錄 new_post = {"AccountID":22,"UserName":"libing",‘date‘:datetime.datetime.now()} new_posts = [{"AccountID":22,"UserName":"liuw",‘date‘:datetime.datetime.now()}, {"AccountID"
:23,"UserName":"urling",‘date‘:datetime.datetime.now()}]#每條記錄插入時間都不一樣 posts.insert(new_post) #posts.insert(new_posts)#批量插入多條數據 #刪除記錄 print u‘刪除指定記錄:\n‘,posts.find_one({"AccountID":22,"UserName":"libing"}) posts.remove({"AccountID":22,"UserName":"libing"}) #修改聚集內的記錄 posts.update({"UserName"
:"urling"},{"$set":{‘AccountID‘:random.randint(20,50)}}) #查詢記錄,統計記錄數量 print u‘記錄總計為:‘,posts.count(),posts.find().count() print u‘查詢單條記錄:\n‘,posts.find_one() print posts.find_one({"UserName":"liuw"}) #查詢所有記錄 print u‘查詢多條記錄:‘ #for item in posts.find():#查詢全部記錄 #for item in posts.find({"UserName":"urling"}):#查詢指定記錄 #for item in posts.find().sort("UserName"):#查詢結果根據UserName排序,默認為升序 #for item in posts.find().sort("UserName",pymongo.ASCENDING):#查詢結果根據UserName排序,ASCENDING為升序,DESCENDING為降序 for item in posts.find().sort([("UserName",pymongo.ASCENDING),(‘date‘,pymongo.DESCENDING)]):#查詢結果根據多列排序 print item #查看查詢語句的性能 #posts.create_index([("UserName", pymongo.ASCENDING), ("date", pymongo.DESCENDING)])#加索引 print posts.find().sort([("UserName",pymongo.ASCENDING),(‘date‘,pymongo.DESCENDING)]).explain()["cursor"]#未加索引用BasicCursor查詢記錄 print posts.find().sort([("UserName",pymongo.ASCENDING),(‘date‘,pymongo.DESCENDING)]).explain()["nscanned"]#查詢語句執行時查詢的記錄數

Python操作MongoDB(PyMongo模塊的使用)