首页 > 数据库 > mysql教程 > PyMongo笔记

PyMongo笔记

WBOY
发布: 2016-06-07 16:29:36
原创
855 人浏览过

安装 $ pip install pymongo//指定pymongo版本$ pip install pymongo==2.1.1//upgrade现有的版本$ pip install --upgrade pymongo 使用 from pymongo import MongoClientconnection = MongoClient()#指定host和portconnection = MongoClient('localhost', 27

安装

$ pip install pymongo
//指定pymongo版本
$ pip install pymongo==2.1.1
//upgrade现有的版本
$ pip install --upgrade pymongo
登录后复制

使用

from pymongo import MongoClient
connection = MongoClient()
#指定host和port
connection = MongoClient('localhost', 27017)
db = connection.test_database
登录后复制

插入

>>> import datetime
>>> post = {"author": "Mike",
...         "text": "My first blog post!",
...         "tags": ["mongodb", "python", "pymongo"],
...         "date": datetime.datetime.utcnow()}
>>> posts = db.posts
>>> post_id = posts.insert(post)
>>> post_id
ObjectId('...')
#多个插入
>>> new_posts = [{"author": "Mike",
...               "text": "Another post!",
...               "tags": ["bulk", "insert"],
...               "date": datetime.datetime(2009, 11, 12, 11, 14)},
...              {"author": "Eliot",
...               "title": "MongoDB is fun",
...               "text": "and pretty easy too!",
...               "date": datetime.datetime(2009, 11, 10, 10, 45)}]
>>> posts.insert(new_posts)
[ObjectId('...'), ObjectId('...')]
登录后复制

查找

>>>posts.find_one({"author": "Mike"})
{u'date': datetime.datetime(...), u'text': u'My first blog post!', u'_id': ObjectId('...'), u'author': u'Mike', u'tags': [u'mongodb', u'python', u'pymongo']}
#若不存在则没有返回值
#按id查找
>>>posts.find_one({"_id": post_id})
{u'date': datetime.datetime(...), u'text': u'My first blog post!', u'_id': ObjectId('...'), u'author': u'Mike', u'tags': [u'mongodb', u'python', u'pymongo']}
#注意post_id为ObjectId类型而不是string, 如果是string则会找不到
#所以当从请求的url中获取id后必须把string类型转换成ObjectId类型再使用
from bson.objectid import ObjectId
# The web framework gets post_id from the URL and passes it as a string
def get(post_id):
    # Convert from string to ObjectId:
    document = connection.db.collection.find_one({'_id': ObjectId(post_id)})
登录后复制

count

>>> posts.count()
3
>>> posts.find({"author": "Mike"}).count()
2
登录后复制

sort和limit

#-1为倒序
db.posts.find().sort({'author':-1}).limit(10)
登录后复制

update

db.posts.update({"_id": post_id}, {"$set": {"author":"Mark"}})
登录后复制
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板