原文:http://www.oschina.net/code/snippet_1382328_37407python
#!/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"]#查詢語句執行時查詢的記錄數