Mongodb 命令及 PyMongo 库的使用
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 库的使用的更多相关文章
- MongoDb 命令查询所有数据库列表
原文:http://blog.csdn.net/huxu981598436/article/details/47216493 MongoDb 命令查询所有数据库列表 CODE: > show d ...
- python基础教程之pymongo库
1. 引入 在这里我们来看一下Python3下MongoDB的存储操作,在本节开始之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库. 1. 安装 pi ...
- MongoDB命令行操作
本文专门介绍MongoDB的命令行操作.其实,这些操作在MongoDB官网提供的Quick Reference上都有,但是英文的,为了方便,这里将其稍微整理下,方便查阅. 这里用来做测试的是远端(10 ...
- Visual Studio命令行创建库文件lib
Visual Studio命令行创建库文件lib OS:win7 旗舰版SP1 64位 编译器: VS 2013 express 的cl 建一个文件Static_Lib.h,源代码如下 #ifndef ...
- 微软官方的.net命令行参数库
虽然现在是图形化大行其道的时代,但让程序支持命令行启动对于专业的领域还是有不少需求的..net本身并没有内置对命令行解析的支持,我之前就写过一篇文章让.Net程序支持命令行启动介绍了几个第三方的命令行 ...
- 【C++】cmdline——轻量级的C++命令行解析库
1.说明 cmdline是一个轻量级的c++命令行参数解析工具,全部源码只有一个cmdline.h头文件. 2.代码 20171210_命令行进行解析.cpp // 20171210_命令行进行解析. ...
- MongoDB命令及其MongoTemplate的混合讲解
前言 前面讲解了如何在springboot中集成mongodb,本文将讲解mongodb命令操作及其MongoTemplate的使用.穿插的目的在于不用先去寻找mongodb的命令又去寻找在java中 ...
- Python3.x:pip命令安装第三方库,超时处理方案
Python3.x:pip命令安装第三方库,超时处理方案 问题: pip install splinter命令安装第三方库,报超时错误: raise ReadTimeoutError(self._po ...
- Scala与Mongodb实践4-----数据库操具体应用
目的:在实践3中搭建了运算环境,这里学会如何使用该环境进行具体的运算和相关的排序组合等. 由数据库mongodb操作如find,aggregate等可知它们的返回类型是FindObservable.A ...
随机推荐
- 【BZOJ5109】[CodePlus 2017]大吉大利,晚上吃鸡! 最短路+拓扑排序+DP
[BZOJ5109][CodePlus 2017]大吉大利,晚上吃鸡! Description 最近<绝地求生:大逃杀>风靡全球,皮皮和毛毛也迷上了这款游戏,他们经常组队玩这款游戏.在游戏 ...
- R的替换sub和gsub
sub(pattern, replacement, x, ignore.case = FALSE, perl = FALSE, fixed = FALSE, useBytes = FALSE) gsu ...
- 【JavaScript算法】---快速排序法
一.快速排序法概念 我们将一个杂乱无章的数组进行一个快速排序,可以先从一个数组中取一个中间值,将一个数组一分为2,左边的数组跟中间值进行比较,小的放在左边,大的放在右边.比较完毕后再次取中间值,再次比 ...
- 【php】---mysql---基本操作及使用---【巷子】
1.数据库简介 (1).什么是数据库? 一个文件 一个文件夹 一个u盘 一个硬盘......都叫做数据库 存放数据的仓库 (2).常见的数据库? mySql sql ...
- shiro框架的学习
1shiro框架是什么:是一个权限控制的框架2shiro框架有什么作用:权限管理,管理那些资源是否需要登录才能访问.控制某些资源需要那些权限才能访问3shiro框架怎样使用: 1在web.xml配置s ...
- 虚拟机中CentoOs配置ip且连网
1.修改"VMware Network Adapter VMnet8",配置IP 2.打开虚拟机,"编辑" => "虚拟网络编辑器", ...
- describe neural networks as a series of computational steps via a directed graph.
https://www.microsoft.com/en-us/research/product/cognitive-toolkit/ https://github.com/microsoft/cnt ...
- 崩溃block
[__NSGlobalBlock__ setHidden:]: unrecognized selector sent to instance 0x10dbb9090(null)注释掉 sethidde ...
- JS实现数字千位符格式化方法
/** * [number_format 参数说明:] * @param {[type]} number [number:要格式化的数字] * @param {[type]} decimals [de ...
- Delphi中那些容易混淆的基础(@、^、Addr、Pointer,Move、CopyMemory,GetMem和FreeMem、GetMemory和FreeMemory、New和Dispose、StrAlloc和StrDispose、AllocMem)
@.^.Addr.Pointer Delphi(Pascal)中有几个特殊的符号,如@.^等,弄清楚这些符号的运行,首先要明白Delphi指针的一些基础知识:指针,是一个无符号整数(unsigned ...