`
三月沙
  • 浏览: 619976 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用python字典动态组合mongo查询语句

阅读更多

在使用myql的时候,由于使用的传统的关系型数据库,可以自己自由拼凑sql来进行查询, 这为多条件的组合查询带来了便利,而mongodb由于其特殊性,需要自己动手利用其特点来组合我们的查询语句

 

比如参数每个的值可以是true,false或者None, not None,这样他们的组合多样性导致需要写不同的查询才能完成

 

 

以python为例,我们先使用pymongo链接mongo

 

 

from pymongo import Connection

conn = Connection()

db = conn.blog

 

python 中如在mongo shell 一样,是使用字典来组织查询条件,因而我们可以很好利用字典的这个特性来动态的组合我们的语句

 

如下的查询例子

 

 

db.article.find({'title':{'$ne':None},'tags':'sql','content':None},{'title':1,'atime':1,'tags':1,'author':1},skip=0,limit=12)

 

在find中有两个字典,一是查询的字段,一个是查询的条件,我们可以把这两个字典单独拿出来进行动态组合,如下

 

 

#查询字段字典
column_dic = {'title':1,'atime':1,'tags':1,'author':1}

#查询条件的字典
condition_dic= {'title':{'$ne':None},'tags':'sql','content':None}

 

 

 

#如果有A B C D 四个参数分别如下
#A:True   B:False  C:False  D: not None

#就可以这样组合查询条件
condition_dic['A']=A
condition_dic['B']=B
condition_dic['C']=C

if D is not None:
	condition_dic['D']={'$ne':None}
else:
	condition_dic['D']=None

 

 

于是我们就组合成了自己的查询条件

 

 

condition_dic={'A':True,'B':False,'C':False,'D':{'$ne':None}}

 

在find中进行查询的时候就如下

 

 

db.article.find(condition_dic,column_dic,skip=0,limit=0)

 

 

1
1
分享到:
评论

相关推荐

    python+django从mongo读取数据和图片展示在html

    标题 "python+django从mongo读取数据和图片展示在html" 涉及到的是一个使用Python编程语言和Django框架来与MongoDB数据库交互,然后将获取的数据和图片渲染到HTML页面上的过程。这个过程涵盖了多个IT领域的知识点,...

    Python-Mongo同步异步MongoDBODM

    μMongo提供了同步接口,允许开发者使用熟悉的Python类和方法来操作MongoDB。例如,创建一个数据模型类,通过μMongo的`Document`基类进行继承,并定义数据字段: ```python from umongo import Document, fields ...

    python入门之mysql、mongo、线程、线程池的使用

    1.python 类的定义 继承 线程的使用 2.python对数据库的访问,包括mysql和mongo 3.线程池的使用 4.异常的高级使用,包括代码定位

    Python库 | mongoquery-1.3.4.tar.gz

    MongoQuery的核心功能在于将Python表达式转换为MongoDB的查询语句。这使得开发人员可以使用类似Python的语法来构建复杂的查询,而无需直接与PyMongo的低级API打交道。例如,你可以直接用Python的字典或类方法来表示...

    pythonMongo

    关于MongoDB的小程序,操作数据库,mysql。 插入数据。

    MongoDbPython:用于连接mongo数据库的示例python脚本

    在Python中,我们可以使用`PyMongo`库来与MongoDB进行交互。本篇文章将深入探讨如何使用Python和`PyMongo`库连接并操作MongoDB数据库。 首先,安装`PyMongo`库是必要的。在命令行中运行以下命令来安装: ```bash ...

    python查询mongodb函数

    根据描述中的“python3实现的mongodb的查询类库”,你可能已经实现了这样的功能,例如定义一个`MongoQuery`类,提供简洁的方法接口来执行各种查询操作。 总之,Python通过`pymongo`库与MongoDB数据库交互,提供了...

    MongoVue查询方法

    使用MongoVue进行查询的方法,包含map及reduce的使用介绍

    Python库 | dogpile_mongo-0.0.1.tar.gz

    "Python库 | dogpile_mongo-0.0.1.tar.gz"这个资源是一个针对Python开发的后端库,名为dogpile_mongo,版本为0.0.1,封装在tar.gz压缩格式的文件中。dogpile_mongo是Python中用于处理MongoDB数据库的一种工具,它...

    Python库 | mongo-types-0.14.3.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:mongo-types-0.14.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | mongo-mail-web-0.1.1.zip

    资源分类:Python库 所属语言:Python 资源全名:mongo-mail-web-0.1.1.zip 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | mongo-connector-postgresql-1.3.0.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:mongo-connector-postgresql-1.3.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | sanic_mongo-1.7.1-py3-none-any.whl

    Sanic_Mongo是一个基于Python的库,用于在Sanic Web框架上轻松集成MongoDB数据库。Sanic是一款异步Web服务器和Web应用框架,以其快速响应和非阻塞I/O而闻名。MongoDB则是一个流行的NoSQL数据库,它使用文档型数据...

    Python-Mongoop长时间的MongoDB操作监控和报警

    它可能包括查询计划分析、索引建议以及操作执行统计等,这些信息有助于DBA优化数据库配置和查询语句。 4. **自动化响应**:Mongoop可以根据配置,自动采取某些行动,如暂停操作、调整资源分配等,以减轻服务器压力...

    Python-2.4.4.tgz

    3. 监控和日志:MMS提供了对MongoDB实例的监控和日志收集,Python脚本可以通过pymongo获取数据库的统计信息,如内存使用、索引大小、查询性能等。 4. 警报和通知:Python脚本可以定期检查MongoDB的健康状况,并在...

    Thinkphp使用mongodb数据库实现多条件查询方法

    例如,使用复合查询(_complex)时,通过getLastSql方法输出的查询语句可能是空的,这表明查询条件没有被正确解析或生成。 为了克服这个问题,需要对Thinkphp的MongoDB驱动进行修改。Thinkphp的MongoDB驱动文件位于...

    Python库 | mongo_types-0.7.7a0-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:mongo_types-0.7.7a0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    canfestival字典环境搭建

    总的来说,搭建canfestival字典环境需要安装Python、CAN库、canfestival源码,并可能使用wxPython创建图形界面工具。理解canfestival的对象字典及其与CAN设备的交互方式,以及熟悉Python和wxPython的基本编程,是...

    python爬虫-scrapy-Mongo

    python爬虫基础学习,从基础学习,涉及到scrapy,Mongo,scrapy_redis等相关的基础知识

Global site tag (gtag.js) - Google Analytics