1. PyMongo

  import pymongo

  1. 初始化 Mongo 客户端

client=pymongo.MongoClient(mongodb://10.85.39.45:8188,10.85.39.43:8188,10.85.39.31:8188,10.85.39.32:8188,10.85.39.33:8188,10.85.39.34:8188,10.85.32.16:8188,10.85.32.33:8188,10.85.39.35:8188,10.85.39.27:8188)

  2. 初始化数据库
    mongo_database = client[db_name]

  3. 初始化表(聚集、集合)

    stat_tbl = mongo_database[stat_tbl_name]

  4. 在表中按照键值查找数据

    start_time_doc = stat_tbl.find_one({'keyword': keyword_name})

    start_time_doc下可能还有二级键值,需要用start_time_doc['start_time']访问

  5. 在表中更新数据

    stat_tbl.update({'keyword': keyword_name}, {'$set': {'start_time': timestamp}})

  6. 查看 mongodb 客户端中数据库和聚集的名字

    client.database_names()

    db.collection_names()

  7. 查看聚集中一条记录

    db.Account.find_one({"UserName":"keyword"})

    在这里db.Account与db['Account']作用相同,都是表示数据库中的一个聚集

  8. 查看聚集的多条记录

    for item in db.Account.find():
           item

  9. 查询语法详解 db.collection.find(query, projection)

    查询条件由 query 参数传入,为字典类型。不同的查询条件用 ',' 隔开表示查询条件的 AND,查询的字段和具体值用字典的 key/value 来表示。比如:

      db.col.find({key1: value1, key2: value2})  查询聚集中 key1 为 value1,同时 key2 为 value2 两个条件成立的记录。

    另外,使用操作符可以指定查询条件,格式为:

      {key1: {operator: value}})

    这些操作符包括,详细见:https://docs.mongodb.com/manual/reference/operator/query/

      $eq:与某个值相等

      $gt:大于某个值

      $gte:大于等于某个值

      $in:为数组中的某个值

      $lt:小于某个值

      $lte:小于等于某个值

      $ne:不等于某个值

      $nin:不在数组的列表中     

    $and 和 $or 为特殊的逻辑运算符其用法如下,条件写在列表里:

      {$or: [{key1: value1, key2: value2}]}

    举例:table.find({"saveTime": {"$gte": 1501516800}, "bjh_ext.ext_info.feed_ext_info.source_id": {"$in": [3000084, 3000085, 3000086]}})

    上述查询语句用于在table里查找"saveTime"值大于等于1501516800即某个时刻之后的,且bjh_ext.ext_info.feed_ext_info.source_id值在列表给出范围内的记录。'.' 运算符用于在嵌入式的文档中查询,表示多级键值。

参考:http://www.cnblogs.com/zhouxuchen/p/5544227.html

2. MongoDB

  其他:

    1. 存在 MongoDB 中的数据会自动加上一个 '__id' 字段,值为该条记录的对象,在对数据进行解析时,需要先将该字段删除。

    2. 较大的数据类型会存为 BSON.int64.int64 类型,为数据库独有的类型,将读出来的数据转换为其他格式比如 marshal 时,需要先将这个字段的值转换为 int 类型。




Mongodb 命令及 PyMongo 库的使用的更多相关文章

  1. MongoDb 命令查询所有数据库列表

    原文:http://blog.csdn.net/huxu981598436/article/details/47216493 MongoDb 命令查询所有数据库列表 CODE: > show d ...

  2. python基础教程之pymongo库

    1. 引入 在这里我们来看一下Python3下MongoDB的存储操作,在本节开始之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库. 1.  安装 pi ...

  3. MongoDB命令行操作

    本文专门介绍MongoDB的命令行操作.其实,这些操作在MongoDB官网提供的Quick Reference上都有,但是英文的,为了方便,这里将其稍微整理下,方便查阅. 这里用来做测试的是远端(10 ...

  4. Visual Studio命令行创建库文件lib

    Visual Studio命令行创建库文件lib OS:win7 旗舰版SP1 64位 编译器: VS 2013 express 的cl 建一个文件Static_Lib.h,源代码如下 #ifndef ...

  5. 微软官方的.net命令行参数库

    虽然现在是图形化大行其道的时代,但让程序支持命令行启动对于专业的领域还是有不少需求的..net本身并没有内置对命令行解析的支持,我之前就写过一篇文章让.Net程序支持命令行启动介绍了几个第三方的命令行 ...

  6. 【C++】cmdline——轻量级的C++命令行解析库

    1.说明 cmdline是一个轻量级的c++命令行参数解析工具,全部源码只有一个cmdline.h头文件. 2.代码 20171210_命令行进行解析.cpp // 20171210_命令行进行解析. ...

  7. MongoDB命令及其MongoTemplate的混合讲解

    前言 前面讲解了如何在springboot中集成mongodb,本文将讲解mongodb命令操作及其MongoTemplate的使用.穿插的目的在于不用先去寻找mongodb的命令又去寻找在java中 ...

  8. Python3.x:pip命令安装第三方库,超时处理方案

    Python3.x:pip命令安装第三方库,超时处理方案 问题: pip install splinter命令安装第三方库,报超时错误: raise ReadTimeoutError(self._po ...

  9. Scala与Mongodb实践4-----数据库操具体应用

    目的:在实践3中搭建了运算环境,这里学会如何使用该环境进行具体的运算和相关的排序组合等. 由数据库mongodb操作如find,aggregate等可知它们的返回类型是FindObservable.A ...

随机推荐

  1. you-get 下载网络上的富媒体信息

    You-Get 乃一小小哒命令行程序,提供便利的方式,下载网络上的富媒体信息. 利用you-get下载这个网页的视频: $ you-get http://www.fsf.org/blogs/rms/2 ...

  2. 不同linux下两网卡绑定方法

    记得原来在做性能测试时,为了提高网络吞吐率.必须将两个网卡绑定一起工作.绑定方法如下: 一.CentOS 配置   1.编辑虚拟网络接口配置文件,指定网卡IP: # vi /etc/sysconfig ...

  3. 170616、解决 java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList

    报错截图: 原因:搭建项目的时候,springmvc默认是没有对象转换成json的转换器的,需要手动添加jackson依赖. 解决步骤: 1.添加jackson依赖到pom.xml <!-- j ...

  4. talib 中文文档(八): Momentum Indicator Functions 动量指标

    Momentum Indicator Functions ADX - Average Directional Movement Index 函数名:ADX 名称:平均趋向指数 简介:使用ADX指标,指 ...

  5. 如何在linux下安装jdk并运行java程序

    一.进入root 大家可以看到我这里用的是CentOS 6.5 系统 二.测试网络与YUM是否可用 1.测试网络 ping www.baidu.com,如下图就是通了 参考: 一.JDK安装1.lin ...

  6. 窄依赖与宽依赖&stage的划分依据

    RDD根据对父RDD的依赖关系,可分为窄依赖与宽依赖2种. 主要的区分之处在于父RDD的分区被多少个子RDD分区所依赖,如果一个就为窄依赖,多个则为宽依赖.更好的定义应该是: 窄依赖的定义是子RDD的 ...

  7. mysql根据经纬度获取附近的商家

    create table geo( geo_id INT NOT NULL AUTO_INCREMENT, lng float NOT NULL, lat float NOT NULL, name ) ...

  8. 统计编程的框架与R语言统计分析基础——摘(1)

    清屏命令ctrl+L 一.基础 1.产生数据结构 a.直接输入 b.冒号,1:10 c.seq函数 d.rep函数 > 1:10 [1] 1 2 3 4 5 6 7 8 9 10 > 10 ...

  9. python16_day34【设计模式】

    一.简单工厂模式 # coding : utf-8 # create by ztypl on 2017/5/24 from abc import abstractmethod, ABCMeta cla ...

  10. SpringData修改和删除操作

    SpringData的查询我们已经学完了,我们现在就研究一下SpringData的修改和删除. @Modifying 注解和事务 @Query 与 @Modifying 这两个 annotation一 ...