mongodb与python随手记

在python中使用pymongo连接mongodb数据库.

基本代码如下:

from pymongo import MongoClient

client = MongoClient(‘127.0.0.1‘, 27017) # mongodb的地址
db_name = ‘myfirstmongo‘                 # 数据库的名字
db = client[db_name]                     # 现在db就是这个数据库了
collection = db[‘testone‘]               # ‘testone‘是集合的名字,现在collection就是我们要用的集合了

查询一条数据和简单的分页操作:

import json
from bson import json_util as jsonb

def get_data_by_key(key):
    item = collection.find({"key":key})         # 直接用集合查询,find是mongo的方法
    # print item                                # 查询返回的item是一个对象,打印出来是<pymongo.cursor.Cursor object at 0x7f5d9bbc6f50>
    info = jsonb.dumps(item)                    # 使用bjson将对象转换成可读的形式,现在的info是str类型
    data = json.loads(info)                     # 使用json将字符串转换成python的相应类型,这里data是list列表
    return data

def get_page_data(page):
    page_len = 20                               # page_len是一页的长度,也可以作为参数传进来
    skp = (int(page)-1)*page_len                # skip是为了只查询某一页的,跳过之前的数据
    item = collection.find().skip(skp).limit(page_len)  # 从skp开始,查询page_len条数据
    info = jsonb.dumps(item)                    # 处理数据
    data = json.loads(info)                     # 处理数据    return data
get_data_by_key是通过某一个条件查询,也可以多条件查询.要注意key的数据类型.增删改等操作与上面过程类似,只需修改collection对应的操作函数.删除数据:collection.find_one_and_delete({‘key‘:key}),或者collection.remove({‘key‘:key})谨慎使用remove(),她的括号里为空时,会删掉集合里面的所有数据;增加数据:collection.insert({‘key‘:‘123‘,‘msg‘:‘test‘}),也可插入多条,将多条数据放入列表中,将列表传入insert()即可;更新数据:collection.update({‘key‘:‘123‘},{‘msg‘:‘new‘},True,True),update参数含义:第一个是查询参数,第二个是要更新的内容,第三个是决定在没有查到该条数据时是否创建,第四个是查询到多条数据时是否都要更改;更新数据还可以使用修改器,这里不做记录了.
时间: 2024-10-03 22:32:31

mongodb与python随手记的相关文章

基于mongodb的python之增删改查(CRUD)

1,下载mongodb的python驱动,http://pypi.python.org/pypi/pymongo/,根据操作系统和python平台版本选择相应的egg或exe安装. 2,新建一个py脚本(可以在eclipse下安装pydev插件,很方便) #coding=utf-8 import pymongo connection = pymongo.Connection("192.168.0.101", 27017) db = connection.python print db.

mongodb和python的datetime的差异

python中需要使用utc时间 mongo.exe命令 db.sms_ttl.ensureIndex({"createdAt": 1}, {expireAfterSeconds: 600}) pymongo操作 db.sms_ttl.insert({"createdAt": datetime.utcnow(), "type": "sms-auth", "phone":"", "

MongoDB与python交互

1.Pymongo PyMongo是Mongodb的Python接口开发包,是使用python和Mongodb的推荐方式.官方文档 2.安装 进入虚拟环境 sudo pip install pymongo 或源码安装 python setup.py 3.使用 导入模块 import pymongo #或者 from pymongo import MongoClient 建立于MongoClient 的连接: client = MongoClient('localhost', 27017) # 或

MongoDB的Python客户端PyMongo(转)

原文:https://serholiu.com/python-mongodb 这几天在学习Python Web开发,于是做准备做一个博客来练练手,当然,只是练手的,博客界有WordPress这样的好玩意儿,何必还自己造车呢?决定使用Tornado这个框架,然后数据库方面决定顺便熟悉一下MongoDB这样的非关系型数据库.Python让我觉得轻松,再和MongoDB搭配上,那感觉真是好. 下面就谈谈Python操作MongoDB的一些基本用法,先介绍一下MongoDB,这是现在风头正劲的NoSQL

mongodb在python中的应用——利用pymongo和mongoengine

一.前文 Django 是一种 Python Web 框架,由对象关系映射器 (ORM).后端控制器和模板系统组成.MongoDB 是一种面向文档的数据库(也称为 NoSQL 数据库),能有效地进行扩展并提供高性能.在本文中,我们将学习如何从 Python 调用 MongoDB(使用 MongoEngine),以及如何将它集成到 Django 项目中以代替内置的 ORM. NoSQL 数据库是 "下一代数据库,主要具有以下几个要点:非关系型.分布式.开放源码和可水平伸缩".面向文档的数

MongoDB与Python的交互

驱动模块 pymongo是python里常用的操作MongoDB的驱动模块 可用pip下载安装 pip install pymongo 创建连接 MongoClient是MongoDB的客户端代理对象,可以用来执行增删改查操作,而且还内置了连接池 from pymongo import MongoClient client = MongoClient(host="localhost",port=27017) client.admin.authenticate("admin&q

python正则表达式手记

----------re模块进行正则的使用---------- #result=re.match(正则表达式,要匹配的字符串):使用正则对字符串进行过滤从前面开始匹配#result.group():将获得到的数据取出#result=re.search(正则表达式,要匹配的字符串):使用正则对字符串进行过滤从后面开始匹配#result==None:判断正则表达式是否获取到内容,如果为True,则没有获取到内容#re.search(r'\d+','my hight 177 cm').group():

python学习手记

1) list和tuple是Python内置的有序集合,一个可变,一个不可变.根据需要来选择使用它们. .) list是一种有序的集合,可以随时添加和删除其中的元素 list:  classmates = ['Michael', 'Bob', 'Tracy'] 具体操作: .)可以往list中追加元素到末尾:  classmates.append('Adam') .)把元素插入到指定的位置,比如索引号为1的位置:  classmates.insert(1, 'Jack') .)要删除list末尾

浅析mongodb(基于python,linux)

将数据导入本地mongo中mongoimport --db test --collection restaurants --drop --file primer-dataset.json 如果本地mongo数据库中已经有了test 数据库,上面的命令会先删除之前的数据然后再导入新的数据在Linux/OS X 安装pymongopip install pymongo 插入数据: # test.py from pymongo import MongoClient client = MongoClie