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. 解决pip install 安装慢问题

    使用豆瓣源 比如安装pyspark pip install -i https://pypi.douban.com/simple/ pyspark 速度就比用pip install快N倍 关注公众号:

  2. Java中实现序列化的两种方式 Serializable 接口和 Externalizable接口

    对象的序列化就是将对象写入输出流中. 反序列化就是从输入流中将对象读取出来. 用来实现序列化的类都在java.io包中,我们常用的类或接口有: ObjectOutputStream:提供序列化对象并把 ...

  3. poj1821 Fence【队列优化线性DP】

    Fence Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 6122   Accepted: 1972 Description ...

  4. 使用log4net做应用程序全局日志记录保存在数据库中

    几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题.经验表明,日志记录往往 ...

  5. numpy基本方法总结 --good

    https://www.cnblogs.com/xinchrome/p/5043480.html 一.数组方法 创建数组:arange()创建一维数组:array()创建一维或多维数组,其参数是类似于 ...

  6. Spongebob and Squares---cf599D(数学公式1 + (1+2) + (1+2+3) +....)

    题目链接:http://codeforces.com/contest/599/problem/D 一个3×5(m×n)的长方形,里面包含15个边长为1的正方形,有8个边长为2的正方形,有3个边长为3的 ...

  7. Python开发【笔记】:为什么pymysql重连后才能查到新添加的数据

    PyMysql操控 问题描述: 之前做数据库模块的时候用到了pymysql,测试中发现了一个问题,创建两个程序,select.py从数据库中不断的读取,insert.py在数据库中插入多条数据,但是s ...

  8. iptables综述

    1 概述 如下图所示,iptables共有Filter,Nat,Mangle和RAW共四个table,每个table还有若干个chain,每个chain中还包含若干个rule 1.1 Filter t ...

  9. ovn-sb 摘要

    1.Database Structure Physical network table中包含了和chassis nodes有关的所有信息,包括用于overlay所需的IP地址,支持的tunnel类型以 ...

  10. AndroidManifest.xml的targetSdkVersion 与 project.properties中target

    (1)minSdkVersion与maxSdkVersion :在安装程序的时候,如果目标设备的API < minSdkVersion,或者目标设备的API > maxSdkVersion ...