手机
当前位置:查字典教程网 >脚本专栏 >python >python操作MongoDB基础知识
python操作MongoDB基础知识
摘要:首先运行easy_installpymongo命令安装pymongo驱动。然后执行操作:创建连接复制代码代码如下:In[1]:importp...

首先运行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

【python操作MongoDB基础知识】相关文章:

Python基本数据类型详细介绍

Python Web框架Pylons中使用MongoDB的例子

Python 文件操作实现代码

python目录操作之python遍历文件夹后将结果存储为xml

python 运算符 供重载参考

python类参数self使用示例

python字符串替换示例

Python开发编码规范

Python类的基础入门知识

python操作MySQL数据库的方法分享

精品推荐
分类导航