热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mongodb与python随手记

在python中使用pymongo连接mongodb数据库.基本代码如下:查询一条数据和简

在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是一个对象,打印出来是
    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参数含义:第一个是查询参数,第二个是要更新的内容,第三个是决定在没有查到该条数据时是否创建,第四个是查询到多条数据时是否都要更改;
更新数据还可以使用修改器,这里不做记录了.

mongodb与python随手记


推荐阅读
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 本文介绍了多种开源数据库及其核心数据结构和算法,包括MySQL的B+树、MVCC和WAL,MongoDB的tokuDB和cola,boltDB的追加仅树和mmap,levelDB的LSM树,以及内存缓存中的一致性哈希。 ... [详细]
  • MongoVUE基础操作指南:轻松上手数据库管理
    本文介绍了MongoVUE的基础操作,旨在帮助用户轻松掌握数据库管理技巧。MongoVUE是一款功能强大的MongoDB客户端工具,虽然需要注册,但其用户友好的界面和丰富的功能使其成为许多开发者的首选。文中详细解释了安装步骤、基本配置以及常见操作方法,并对一些常见的问题进行了修正和补充,确保用户能够快速上手并高效使用MongoVUE进行数据库管理。 ... [详细]
  • 在使用关系型数据库时,通常需要通过用户名和密码进行身份验证才能访问数据。然而,MongoDB默认情况下并不强制要求这种身份验证机制,使得用户无需凭据即可访问并执行各种操作。虽然这一设计简化了初学者的上手过程,但也带来了显著的安全风险。为了提升MongoDB的连接安全性,本文将探讨多种策略与实践,包括启用身份验证、配置网络访问控制、加密通信以及定期审计安全设置,以确保数据库的安全性和数据的完整性。 ... [详细]
  • 如何用Python在MongoDB中导入JSON文件? ... [详细]
  • 今天继续自制信息检索网站的第二步,简单的分析一下掘金的数据。在上次第一步得到数据后通过简单的数据清洗可视化来看一看掘金。本次使用的是jupyternotebook用到 ... [详细]
  • 大部分情况下爬取的数据特别灵活,不一定只有指定的几个字段数据,这时候就需要将数据存储在非关系型数据库中了,MongoDB是由C语言编写的& ... [详细]
  • 很简单的一步操作,是在python中运行,而不是一个python文件,找 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • Windows操作系统提供了Encrypting File System (EFS)作为内置的数据加密工具,特别适用于对NTFS分区上的文件和文件夹进行加密处理。本文将详细介绍如何使用EFS加密文件夹,以及加密过程中的注意事项。 ... [详细]
  • 我正在为我的Flask网络应用程序使用geopy库。我想将我从模态(html ... [详细]
  • Python爬虫使用MongoDB 提示No connection adapters were found for如何解决? ... [详细]
  • 背景最近项目中用到了mongodb,并且用python的pymongo包操作。本文就把目前遇到的问题和学习经历做个小结,方便日后查询。Mongodb启动安装mongodbhttp ... [详细]
author-avatar
XbZSZl_682
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有