Python mongoDB 的简单操作

#!/usr/bin/env python

# coding:utf-8

# Filename:mongodb.py



from pymongo import MongoClient,ASCENDING,DESCENDING

import datetime



# connection with mongoclient

client=MongoClient()



# getting a database

db=client.test



# getting a collection

collection=db.posts



# documents

post={"author":"Mike",

      "test":"My first blog post!",

      "tags":["mongodb","python","pymongo"],

      "date":datetime.datetime.utcnow()

}



# inserting a document

post_id=collection.insert(post)

print 'posts id is:',post_id

print 'collection_names is:',db.collection_names()



# getting a single document

doc=db.posts.find_one()

print doc



#query by objectId

print 'query is:', db.posts.find_one({"_id":post_id})



# querying for more than one doc

for post in db.posts.find():

    print post



# counting

print 'total count is:',db.posts.count()



# range queries

d=datetime.datetime(2014,8,9,12)

for post in db.posts.find({"date":{"$gt":d}}).sort("author"):

    print 'gt is:',post



# Indexing

# before indexing

print db.posts.find({"date":{"$gt":d}}).sort("author").explain()["cursor"]

print db.posts.find({"date":{"$gt":d}}).sort("author").explain()["nscanned"]

# after indexing

db.posts.create_index([("date",DESCENDING),("author",ASCENDING)])

print db.posts.find({"date":{"$gt":d}}).sort("author").explain()["cursor"]

print db.posts.find({"date":{"$gt":d}}).sort("author").explain()["nscanned"]



# remove all indexes

db.posts.drop_indexes()

 

你可能感兴趣的:(mongodb)