博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mongodb 命令及 PyMongo 库的使用
阅读量:4537 次
发布时间:2019-06-08

本文共 1916 字,大约阅读时间需要 6 分钟。

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({

key1value1, key2value2})  查询聚集中 key1 为 value1,同时 key2 为 value2 两个条件成立的记录。

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

      {key1: {operator: value}})

    这些操作符包括,详细见:

      $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值在列表给出范围内的记录。'.' 运算符用于在嵌入式的文档中查询,表示多级键值。

参考:

2. MongoDB

  其他:

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

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

转载于:https://www.cnblogs.com/hopelee/p/7246976.html

你可能感兴趣的文章
angular2模板绑定样式
查看>>
用Go自己实现配置文件热加载功能
查看>>
如何解决U盘装系统后磁盘总容量变小?
查看>>
C#基本数据类型与C++区别
查看>>
CXF添加拦截器和自定义拦截器
查看>>
SmartBear推出新产品LoadComplete
查看>>
d2js 中实现 memcached 共享 session 的过程
查看>>
HightCharts基本图形:折线图、柱状图、饼图
查看>>
Java创建对象过程
查看>>
1005 继续(3n+1)猜想 (25 分)
查看>>
CSS的7种常用的垂直居中的方法
查看>>
BZOJ1001 狼抓兔子
查看>>
iOS开发——检测屏幕旋转
查看>>
js方法随机抽取n个随机数
查看>>
Quartz配置
查看>>
使用springMVC进行统一的异常处理
查看>>
【洛谷P1641】[SCOI2010]生成字符串
查看>>
2014.8.15模拟赛【公主的朋友】
查看>>
Linux常用系统信息查看命令
查看>>
系统全局环境变量设置
查看>>