python-pymongo使用
#-*- coding: utf-8 -*-
#python2.7x from pymongo import MongoClient def get_db():
#建立连接
client = MongoClient("localhost", 27017)
#test,还有其他写法
db = client.test
return db def get_collection(db):
#选择集合(mongo中collection和database都是lazy创建的,具体可以google下)
collection = db['posts']
print collection def insert_one_doc(db):
#插入一个document
posts = db.posts
post = {"name":"lzz", "age":25, "weight":""}
post_id = posts.insert(post)
print post_id def insert_mulit_docs(db):
#批量插入documents,插入一个数组
posts = db.posts
post = [ {"name":"nine", "age":28, "weight":""},
{"name":"jack", "age":25, "weight":""}]
obj_ids = posts.insert(post)
print obj_ids ##查询,可以对整个集合查询,可以根ObjectId查询,可以根据某个字段查询等
def get_all_colls(db):
#获得一个数据库中的所有集合名称
print db.collection_names() def get_one_doc(db):
#有就返回一个,没有就返回None
posts = db.posts
print posts.find_one()
print posts.find_one({"name":"jack"})
print posts.find_one({"name":"None"})
return def get_one_by_id(db):
#通过objectid来查找一个doc
posts = db.posts
obj = posts.find_one()
obj_id = obj["_id"]
print "_id 为ObjectId类型 :"
print posts.find_one({"_id":obj_id})
#需要注意这里的obj_id是一个对象,不是一个str,使用str类型作为_id的值无法找到记录
print "_id 为str类型 "
print posts.find_one({"_id":str(obj_id)}) #可以通过ObjectId方法把str转成ObjectId类型
from bson.objectid import ObjectId
print "_id 转换成ObjectId类型"
print posts.find_one({"_id":ObjectId(str(obj_id))}) def get_many_docs(db):
#mongo中提供了过滤查找的方法,可以通过各
#种条件筛选来获取数据集,还可以对数据进行计数,排序等处理
posts = db.posts
#所有数据,按年龄排序, -1是倒序
all = posts.find().sort("age", -1) count = posts.count()
print "集合中所有数据 %s个"%int(count)
for i in all:
print i #条件查询
count = posts.find({"name":"lzz"}).count()
print "lzz: %s"%count
for i in posts.find({"name":"lzz", "age":{"$lt":20}}):
print i def clear_coll_datas(db):
#清空一个集合中的所有数据
db.posts.remove({}) if __name__ == "__main__":
db = get_db()
obj_id = insert_one_doc(db)
obj_ids = insert_mulit_docs(db)
#get_all_colls(db)
#get_one_doc(db)
#get_one_by_id(db)
#get_many_docs(db)
clear_coll_datas(db)
python-pymongo使用的更多相关文章
- Python Pymongo中Connection()与MongoClient()差异
在git找了几个blog的源码,在学习的过程中,发现有人使用Connection(),有人却在使用MongoClient(),那么到底两者有什么差别呢? 且看分析如下: db = Connection ...
- Python: Windows 7 64位 安装、使用 pymongo 3.2
官网tutorial: http://api.mongodb.com/python/current/tutorial.html 本教程将要告诉你如何使用pymongo模块来操作MongoDB数据库. ...
- Python 使用pymongo操作mongodb库
Python 使用pymongo操作mongodb库 2016-12-31 21:55 1115人阅读 评论(0) 收藏 举报 分类: - - - Python(10) 版权声明:本文为博主原创文 ...
- (转)Python实例手册
原文地址:http://hi.baidu.com/quanzhou722/item/cf4471f8e23d3149932af2a7 实在是太好的资料了,不得不转 python实例手册 #encodi ...
- Python mongoDB 的简单操作
#!/usr/bin/env python # coding:utf-8 # Filename:mongodb.py from pymongo import MongoClient,ASCENDING ...
- pymongo 学习总结
1.简介 MongoDB是一种强大.灵活.追求性能.易扩展的数据存储方式.是面向文档的数据库,不是关系型数据库,是NoSQL(not only SQL)的一种.所谓的面向文档,就是将原来关系型数据库中 ...
- 转载 python实例手册
python实例手册 #encoding:utf8# 设定编码-支持中文 0说明 手册制作: 雪松 更新日期: 2013-12-19 欢迎系统运维加入Q群: 198173206 # 加群请回答问题 请 ...
- 【转载】python实例手册
今天写爬虫的时候遇到了问题,在网上不停地查找资料,居然碰到两篇好文章: 1.python实例手册 作者:没头脑的土豆 另一篇在这:shell实例手册 python实例手册 #encoding:ut ...
- Python连接MongoDB操作
1.安装PyMongo 注意:请勿安装“bson”软件包. PyMongo配有自己的bson包; 执行“pip install bson”或“easy_install bson”则会安装与PyMong ...
- Python实例手册
在电脑中突然发现一个这么好的资料,雪松大神制作,不敢独享,特与大家共享.连他的广告也一并复制了吧! python实例手册 #encoding:utf8 # 设定编码-支持中文 0说明 手册制作: 雪松 ...
随机推荐
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- centos top命令列解释
查看单个进程:top -p 进程号 PID(Process ID):进程标示号 ( 每个 process 的 ID ) USER:进程所有者的用户名 ( 该 process 所属的使用者 ) PR:进 ...
- 教你如何学python
首先,你要有自信心,要明确学习目的.学Python,可以解决在软件使用中所遇到的问题,可以为找到理想工作添加重要砝码.还能锻炼思维,使我们的逻辑思维更加严密:能不断享受到创新的乐趣,将走在高科技的前沿 ...
- MSP430G2553 模数转换器 ADC10
一.ADC10组成 ADC10模块是MSP430 MCU内部的一个高性能.10位的模数转换器,包含了SAR(Successive-Approximation-Register) core.采样选择控制 ...
- 命令式语言和声明式语言对比——JavaScript实现快速排序为例
什么是命令式编程 (Imperative Programming)? 命令机器如何做事情,强调细节实现 java.c.c++等都属此类. “这些语言的特征在于,写出的代码除了表现出“什么(What)” ...
- .Net生成导出Excel
概述 在做.Net web开发的过程中经常需要将查出的数据导成Excel表返给用户,方便用户对数据的处理和汇总.这里我将导出Excel表格的代码做一个总结,这也是我项目中经常用到的,代码简单易懂,使用 ...
- JPA_映射双向多对多的关联关系(转)
双向多对多的关联关系 转自(http://www.cnblogs.com/lj95801/p/5011537.html) 双向多对多的关联关系(抽象成A-B)具体体现:A中有B的集合的引用,同时B中也 ...
- 注意力机制(Attention Mechanism)应用——自然语言处理(NLP)
近年来,深度学习的研究越来越深入,在各个领域也都获得了不少突破性的进展.基于注意力(attention)机制的神经网络成为了最近神经网络研究的一个热点,下面是一些基于attention机制的神经网络在 ...
- leetcode 74 搜索二维矩阵 java
题目: 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: 输入: mat ...
- ADB模块源码分析(二)——adb server的启动
1. ADB Server的启动 前面我们讲到adb模块的源码在system/core/adb下面,通过查看Android.mk文件我们了解到这个adb 模块回编译生成连个可执行文件adb.adbd, ...