zoukankan      html  css  js  c++  java
  • python操作MongoDB

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

    创建连接

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

    切换到数据库malware

    In [3]: db = connection.malware

    获取collection

    1 In [4]: collection = db.malware

    注意:db和collection都是延时创建的,在添加Document时才真正创建

    Document添加,_id会自动创建

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

    获取所有collection(相当于SQL的show tables)

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

    获取单个文档

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

    批量插入

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

    获取所有collection(相当于SQL的show tables)

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

    查询多个文档

    1 In [18]: for info in malinfo.find():
    2    ....:     print info
    3    ....:     
    4 {u'category': u'u9690u79c1u7a83u53d6', u'_id': ObjectId('52727c5b3387e31671aa91b1'), u'name': u'a.privacy.GingerMaster.a', u'family': u'GingMaster', u'behavior': u'u975eu6cd5u83b7u53d6u624bu673arootu6743u9650uff0cu5f3au5236u5f00u673au81eau542fu52a8u3001u5f3au5236u8054u7f51u3001u7a83u53d6u5e76u4e0au4f20u7528u6237u624bu673au4e2du7684IMEIu3001IMSIu3001SIMu5361u4fe1u606fu7b49u9690u79c1u5185u5bb9uff0cu8fd8u4f1au5c06u75c5u6bd2u7ec4u4ef6u4f2au88c5u6210PNGu56feu7247uff0cu4eceu540eu53f0u9759u9ed8u4e0bu8f7du3001u5b89u88c5u6076u610fu8f6fu4ef6uff0cu6d88u8017u7528u6237u6d41u91cf'}
    5 {u'category': u'u6076u610fu6263u8d39', u'_id': ObjectId('527281323387e31671aa91b2'), u'name': u'a.payment.FakeInst.a', u'family': u'FakeInst', u'behavior': u'u540eu53f0u53d1u9001u6263u8d39u77edu4fe1'}
    6 {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'}

    加条件的查询

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

    统计数量

    1 In [20]: malinfo.count()
    2 Out[20]: 3
  • 相关阅读:
    Java实现 蓝桥杯 算法提高 小X的购物计划
    Java实现 蓝桥杯 算法提高 小X的购物计划
    Java实现 第十一届 蓝桥杯 (高职专科组)省内模拟赛
    Java实现 第十一届 蓝桥杯 (高职专科组)省内模拟赛
    Java实现 第十一届 蓝桥杯 (高职专科组)省内模拟赛
    Java 第十一届 蓝桥杯 省模拟赛 小明的城堡
    Java 第十一届 蓝桥杯 省模拟赛 小明的城堡
    Java 第十一届 蓝桥杯 省模拟赛 小明的城堡
    129. Sum Root to Leaf Numbers
    117. Populating Next Right Pointers in Each Node II
  • 原文地址:https://www.cnblogs.com/goodhacker/p/3400654.html
Copyright © 2011-2022 走看看