python操作MongoDB基础知识
发布时间:2020-12-16 20:45:55 所属栏目:Python 来源:网络整理
导读:首先运行easy_install pymongo命令安装pymongo驱动。然后执行操作: 创建连接 复制代码 代码如下: In [1]: import pymongo In [2]: connection = pymongo.Connection('localhost',27017) 切换到数据库malware 复制代码 代码如下: In [3]: db = connection.ma
首先运行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) 获取所有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","behavior":"1. 后台从服务器端获取指令, 自动发送短信,订制扣费服务,并拦截指定号码短信。 2. 后台从服务器端获取指令,自动模拟访问广告,消耗用户流量"}] In [13]: malinfo.insert(new_posts) 获取所有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 – 关于Pandas Dataframe的Kurtosis doent工作
- 列表去重
- 如何从由术语列表形成的Pandas系列中获取一组
- Python 3和Python 2之间的type()和hasattr()的区别
- python – 使用rpc不会保留Celery任务结果
- python – np.array中某个长度的连续部分的Min-Max差异
- python – matplotlib为图像添加蓝色阴影
- python-2.7 – 找不到python imagegrab模块
- Python重复字符的长排列
- flask开中发遇到jinja2.exceptions.TemplateSyntaxError: u