pymongo使用总结

0. 何为pymongo

pymongo是操作MongoDB的python模块

1、安装pymongo

# easy_install pymongo

2、连接mongodb

>>> import pymongo
>>> conn = pymongo.MongoClient(host=host,port=port,tz_aware=False)

3、获取数据库列表

>>> conn.database_names()
[u‘test1‘, u‘test2‘, u‘admin‘, u‘local‘]

4、连接数据库

>>> db = conn.get_database("db_name")

5、权限验证

>>> db.authenticate(‘username‘, ‘password‘)True

6、获取聚集列表 (聚集的概念类似于关系型数据库中的表)

>>> db.collection_names()
[u‘account‘, u‘role‘, u‘item‘, u‘online‘]

7、连接聚集

>>> account = db.get_collection("col_name")

8、查看聚集的一条记录

>>> account.find_one()

9、查看聚集的所有key (类似于关系型数据库中的字段)

>>> account.find_one().keys()

10、查看聚集的所有记录

>>> for i in account.find():
... print i

11、查看记录总数

>>> account.find().count()

12、根据条件查询多条记录

>>> for i in account.find({"name": "xxx"}):
... print i

13、对查询结果进行排序 (默认升序ASCENDING)

>>> account.find().sort("name", pymongo.ASCENDING)
>>> account.find().sort([("name", pymongo.ASCENDING), ("active_time", pymongo.DESCENDING)])

14、新增记录

>>> account.insert({"name": "mike", "active_time": "20130408"})

15、更新记录

>>> account.update({"name": "mike"}, {"$set": {"active_time": "20130408120000"}})
注:如果数据中没有键-值"name": "mike", 会新增"active_time": "20130408120000"

16、删除记录 (不带条件表示全部删除)

>>> account.remove({"name": "mike"})

17. pycharm模糊不清匹配查询

方法1.
import re
{‘xxx‘:re.compile(‘xxx‘)}
方法2.
{‘xxx‘:{‘$regex‘:‘xxx‘}

18.and or

account.find({ $or: [ { title: {$regex: ‘test‘} }, { intro: {$regex: ‘test‘} } ] })

19. 案例

#! /usr/bin/env python
# --*-- coding:utf-8 --*--

import pymongo
import re

host="**.**.**.**"
port=27017
conn  = pymongo.MongoClient(host=host,port=port,tz_aware=False)

db_name = "test"
log_name = "col"

db_test = conn.get_database(db_name)
col_col = db_test.get_collection(log_name)

#print "db names:", conn.database_names()
#print "col names:", db_test.collection_names()
#print "one_line:", col_col.find_one()

#print "one_line_keys:", col_col.find_one().keys()

#col_col.insert({"message2":"hihihi", "msg":"123"})
#col_col.update({"message":"hello*3"}, {"$set":{"message":"hello*3*9"}})
import  datetime

y,M,d,h,m,s = 2016,2,13,18,30,0
d = datetime.datetime(y,M,d,h,m,s)
delta = datetime.timedelta(hours=8)

d = d-delta

#logs = col_col.find( {"data":{"$gt":d} } )
#logs = col_col.find( {"message":re.compile("hi")} )
logs = col_col.find( {"$and": [{"message":re.compile("hi")}, {"data":{"$gt":d} }]} )

c = logs.count()

for l in logs:
    print l

print "count:", c
print "END!"
时间: 2024-10-20 09:47:36

pymongo使用总结的相关文章

几招学会 Python 3 中 PyMongo 的用法

本文和大家分享的是Python3下MongoDB的存储操作相关内容,在看本文之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库.下面进入正题,一起来看看吧,希望对大家学习Python3有所帮助. 连接MongoDB 连接MongoDB我们需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一个参数为地址host,第二个参数为端口port,端口如果不传默认是27017. import pymongo cl

pymongo使用方法

#!/usr/bin/env python # -*- coding:utf-8 -*- """ MongoDB存储 在这里我们来看一下Python3下MongoDB的存储操作,在本节开始之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python 的PyMongo库. 连接MongoDB 连接MongoDB我们需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一个参数为地址host, 第二个参数为端口por

pymongo的常用操作

环境:pymongo3.0.3,python3 以下是我整理的一些关于pymongo的操作,网上很多是用pymongo.Connecion()去连接数据库的,但是我这里连接一直提示没有这个包,如果大家有什么解决方案或者其他需要补充的,也欢迎告诉我. 一.导入pymongo,使用MongClient连接数据库,连接到myinfo数据库 import pymongo client= pymongo.MongoClient("127.0.0.1",27017) db=client.myinf

pymongo学习第1篇——增删改查

参考文档: 1.https://docs.mongodb.org/getting-started/python/ 2.http://api.mongodb.org/python/current/api/pymongo/index.html # -*- coding: utf-8 -*- import sys from datetime import datetime from pymongo import MongoClient import pymongo import re def main

Pymongo Tutorial & Pymongo入门教程

教程 这教程是pymongo和Mongo的一个简单介绍.看完后应该对Pymongo对Mongo的基本操作认识了. 前置条件 开始之前,安装PyMongo和Mongo.确保在python交互界面执行import不报错: >>> import pymongo 你需要有一个已经在运行的MongoDB实例.如果你已经下载安装了,可以这样启动: $ mongod 通过MongoClient建立一个连接. 开始使用PyMongo的第一步是创建一个MongoClient,对应于MongoDB实例.操作

pyMongo 一些基本操作

1. find() 函数, 可以在函数体内直接指定 filter, sort, projection(限制field), 语法如下: datas = col.find( filter = {"$and":[{"_id":{"$gte":datetime.datetime(2017, 1, 20)}}, {"_id":{"$lte":datetime.datetime(2017, 1, 20, 7, 15,

PyMongo下载及安装

PyMongo下载地址: http://pypi.python.org/pypi/pymongo/#downloads 当前可下载选项: pymongo-1.11.tar.gz                                       Source pymongo-1.11.win32-py2.7.exe                        MS Windows installer PyMongo安装 安装pymongo-1.11.tar.gz 解压之后,cmd运行语

python如何通过pymongo连接到mongodb?

python版本2.7,mongodb2.6.9,pymongo 首先在mongodb中创建一个数据库users,然后连接到users from pymongo import MongoClientmc=MongoClient("localhost",27017)db=mc.usersdb.users.save({"name":"me","age":"23"})c=db.users.find()for o

为什么pymongo的两种连接mongoDB的方法效率相差这么多,求原理科普

最近项目在使用mongoDB,用起来是挺好用的,但是用户上量之后,明显就感觉有点慢,为什么这么慢,我就开始慢慢的寻找原因. 结合网上的测试脚本以及一些朋友们的测试结果和我自己测试的结果,我发现mongoDB真的没有那么慢,那是我哪里写错了? 我就开始排查项目代码中中哪里和测试脚本中写的不一样,结果就找到了数据库的连接方式,项目中一开始采用的是现在pymongo推荐的MongoClient(ip,port)的方式,但是测试脚本中采用的是Connection(ip,port)的方式,经过不同数量级的