当前位置:  编程技术>python

python操作MongoDB基础知识

    来源: 互联网  发布时间:2014-09-04

    本文导语:  首先运行easy_install pymongo命令安装pymongo驱动。然后执行操作:创建连接 代码如下:In [1]: import pymongoIn [2]: connection = pymongo.Connection('localhost', 27017)切换到数据库malware 代码如下:In [3]: db = connection.malware获取collection 代码如下: In [4]: ...

首先运行easy_install pymongo命令安装pymongo驱动。然后执行操作:
创建连接

代码如下:

In [1]: import pymongo
In [2]: connection = pymongo.Connection('localhost', 27017)

切换到数据库malware
代码如下:

In [3]: db = connection.malware

获取collection
代码如下:

 In [4]: collection = db.malware

注意:db和collection都是延时创建的,在添加Document时才真正创建Document添加,_id会自动创建
代码如下:

In [6]: post = {"name":"a.privacy.GingerMaster.a", "family":"GingMaster", "category":"隐私窃取", "behavior":"非法获取手机root权限,强制开机自启动、强制联网、窃 取并上传用户手机中的IMEI、IMSI、SIM卡信息等隐私内容,还会将病毒组件伪装成PNG图片,从后台静默下载、安装恶意软件,消耗用户流量"}

In [7]: malinfo = db.posts

In [9]: malinfo.insert(post)
Out[9]: ObjectId('52727c5b3387e31671aa91b1')


获取所有collection(相当于SQL的show tables)
代码如下:

In [10]: db.collection_names()
 Out[10]: [u'system.indexes', u'posts']

获取单个文档
代码如下:

In [11]: malinfo.find_one()
Out[11]:
{u'_id': ObjectId('52727c5b3387e31671aa91b1'),
 u'behavior': u'u975eu6cd5u83b7u53d6u624bu673arootu6743u9650uff0cu5f3au5236u5f00u673au81eau542fu52a8u3001u5f3au5236u8054u7f51u3001u7a83u53d6u5e76u4e0au4f20u7528u6237u624bu673au4e2du7684IMEIu3001IMSIu3001SIMu5361u4fe1u606fu7b49u9690u79c1u5185u5bb9uff0cu8fd8u4f1au5c06u75c5u6bd2u7ec4u4ef6u4f2au88c5u6210PNGu56feu7247uff0cu4eceu540eu53f0u9759u9ed8u4e0bu8f7du3001u5b89u88c5u6076u610fu8f6fu4ef6uff0cu6d88u8017u7528u6237u6d41u91cf',
 u'category': u'u9690u79c1u7a83u53d6',
 u'family': u'GingMaster',
 u'name': u'a.privacy.GingerMaster.a'}

批量插入
代码如下:

In [12]: new_posts = [{"name":"a.payment.FakeInst.a", "family":"FakeInst", "category":"恶意扣费", "behavior":"后台发送扣费短信"}, {"name":"a.payment.Umeng.a", "family":"Umeng", "category":"恶意扣费", "behavior":"1. 后台从服务器端获取指令, 自动发送短信,订制扣费服务,并拦截指定号码短信。 2. 后台从服务器端获取指令,自动模拟访问广告,消耗用户流量"}]

In [13]: malinfo.insert(new_posts)
Out[13]: [ObjectId('527281323387e31671aa91b2'), ObjectId('527281323387e31671aa91b3')]


获取所有collection(相当于SQL的show tables)
代码如下:

In [14]: db.collection_names()
Out[14]: [u'system.indexes', u'posts'] 

查询多个文档
代码如下:

In [18]: for info in malinfo.find():
   ....:     print info
   ....:    
{u'category': u'u9690u79c1u7a83u53d6', u'_id': ObjectId('52727c5b3387e31671aa91b1'), u'name': u'a.privacy.GingerMaster.a', u'family': u'GingMaster', u'behavior': u'u975eu6cd5u83b7u53d6u624bu673arootu6743u9650uff0cu5f3au5236u5f00u673au81eau542fu52a8u3001u5f3au5236u8054u7f51u3001u7a83u53d6u5e76u4e0au4f20u7528u6237u624bu673au4e2du7684IMEIu3001IMSIu3001SIMu5361u4fe1u606fu7b49u9690u79c1u5185u5bb9uff0cu8fd8u4f1au5c06u75c5u6bd2u7ec4u4ef6u4f2au88c5u6210PNGu56feu7247uff0cu4eceu540eu53f0u9759u9ed8u4e0bu8f7du3001u5b89u88c5u6076u610fu8f6fu4ef6uff0cu6d88u8017u7528u6237u6d41u91cf'}
{u'category': u'u6076u610fu6263u8d39', u'_id': ObjectId('527281323387e31671aa91b2'), u'name': u'a.payment.FakeInst.a', u'family': u'FakeInst', u'behavior': u'u540eu53f0u53d1u9001u6263u8d39u77edu4fe1'}
{u'category': u'u6076u610fu6263u8d39', u'_id': ObjectId('527281323387e31671aa91b3'), u'name': u'a.payment.Umeng.a', u'family': u'Umeng', u'behavior': u'1. u540eu53f0u4eceu670du52a1u5668u7aefu83b7u53d6u6307u4ee4uff0cu81eau52a8u53d1u9001u77edu4fe1uff0cu8ba2u5236u6263u8d39u670du52a1uff0cu5e76u62e6u622au6307u5b9au53f7u7801u77edu4fe1u3002 2. u540eu53f0u4eceu670du52a1u5668u7aefu83b7u53d6u6307u4ee4uff0cu81eau52a8u6a21u62dfu8bbfu95eeu5e7fu544auff0cu6d88u8017u7528u6237u6d41u91cf'}

加条件的查询
代码如下:

In [19]: malinfo.find_one({"family":"FakeInst"})
Out[19]:
{u'_id': ObjectId('527281323387e31671aa91b2'),
 u'behavior': u'u540eu53f0u53d1u9001u6263u8d39u77edu4fe1',
 u'category': u'u6076u610fu6263u8d39',
 u'family': u'FakeInst',
 u'name': u'a.payment.FakeInst.a'}

统计数量
代码如下:

In [20]: malinfo.count()
Out[20]: 3

 


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在Python3中使用urllib实现http的get和post提交数据操作
  • python读取csv文件示例(python操作csv)
  • python字符串格式化输出及相关操作代码举例
  • Python文件操作类操作实例详解
  • python读文件,写文件操作以及目录操作
  • 使用python删除nginx缓存文件示例(python文件操作)
  • python 布尔操作实现代码
  • python 操作postgresql的pgdb库的问题
  • python文件读写并使用mysql批量插入示例分享(python操作mysql)
  • python赋值操作方法分享
  • python读写文件操作示例程序
  • Python 调用DLL操作抄表机
  • Python操作json数据的一个简单例子
  • 简单文件操作python 修改文件指定行的方法
  • python目录操作之python遍历文件夹后将结果存储为xml
  • Python中列表(list)操作方法汇总
  • Python 文件操作实现代码
  • Python 字符串操作实现代码(截取/替换/查找/分割)
  • python ElementTree 基本读操作示例
  • python中常用的各种数据库操作模块和连接实例
  • Python 文件操作技巧(File operation) 实例代码分析
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 让python同时兼容python2和python3的8个技巧分享
  • Python不使用print而直接输出二进制字符串
  • 使用setup.py安装python包和卸载python包的方法
  • Python中实现json字符串和dict类型的互转
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • python异常信息堆栈输出到日志文件
  • Python开发者社区整站源码 Pythoner
  • python文件读写并使用mysql批量插入示例分享(python操作mysql) iis7站长之家
  • python基础教程之python消息摘要算法使用示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3