热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu安装MongoDB,并通过pip安装pythonpymongo驱动、简单使用

Ubuntu知识补充:chown-R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)nohup命令:如果你正在运行一个进程,而且你

Ubuntu知识补充:
chown -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。

MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。
MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。
step1 : 下载二进制包
step2 : 解压
tar zxvf mongodb-linux-x86_64-2.2.0.tgz
将解压后的文件夹复制到usr目录下
sudo mv mongodb-linux-x86_64-2.2.0 mongodb
step3 : 创建mongodb需要的存放数据和日志的目录:
在当前目录下输入如下命令,创建用户 :

添加一个mongodb用户:
sudo adduser mongodb
设置密码:
sudo passwd mongodb
sudo mkdir -p /data/db

把”/data/db/”的属主改成mongodb用户

$ sudo chown mongodb /data/db/
$ sudo chown -R mongodb:mongodb /data

当然可以通过–dbpath 命令 指定MongoDB将数据存储到另外的目录中去。
MongoDB缺省的数据目录为/data/db/。如修改为其它不同路径,启动时需在–dbpath指出。也可以在主配置文件中指出
在运行下面的语句之前需要安装一下mongo shell 否则会收到提示:程序“mongo”尚未安装。

$ apt-get install mongodb-clients

p4 : 启动mongodb服务

$ ./mongodb/bin/mongod

此处我无法启动,Error: couldn’t connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91

经过各种查阅资料,大多数的解决办法是删掉/data/db/下的lock文件,然而博主并没有找到这个文件,试问删毛线,瞬间蒙圈,几经周折,发现给出的错误信息居然是没有权限创建lock文件,瞬间无语。

sudo ./mongodb/bin/mongod

好用了,ctrl+C终止服务
另起一个终端,输入,./mongodb/bin/mongo
登录到mongodb shell
推荐两篇更详细的博客
http://blog.csdn.net/csfreebird/article/details/6737127
http://blog.sina.com.cn/s/blog_788e5b7a01018bs5.html
http://www.cnblogs.com/xiaogangqq123/archive/2011/04/26/2029426.html
http://www.cnblogs.com/xiaogangqq123/archive/2011/04/26/2029426.html
退出:>exit
安装pip,并通过此来安装pymongo–python mongodb驱动
step1 :
http://pypi.python.org/packages/source/p/pip/pip-1.0.2.tar.gz#md5=47ec6ff3f6d962696fe08d4c8264ad49
step2 : 解压安装
tar -xvf pip-1.0.2.tar.gz
cd pip-1.0.2
python setup.py install
step3:安装Python for Mongo的驱动
sudo pip install pymongo
以后可以直接通过pip来更新pymongo
pip –upgrade pymongo
直接安装
sudo apt-get install python-pymongo

在Python中的简单使用

首先开启mongo服务

#-*-coding:utf-8-*-
import pymongo
import json
#connect to database连接运行在本地机器上默认端口(27017)上的MongoDB服务器
cOnn= pymongo.Connection("localhost", 27017)
#通过对象属性或像字典一样使用对象来获得代表一个特定数据库的对象。如果数据库不存在,则被自动建立
db = conn['example']
#db = conn.example
# 插入第一个文档时,MongoDB会自动创建集合
widgets = db['widgets']
#widgets = db.widgets

# insert方法指定一个Python字典来插入文档
widgets.insert({"name": "flibnip", "description": "grade-A industrial flibnip", "quantity": 3})

# 在数据库对象上调用collection_names方法获得数据库中的集合列表
print "the list of collections:\n",db.collection_names()

# 取出文档,doc's type is dict
doc=widgets.find_one({"name": "flibnip"})
print doc
print doc['name']
#json模块并不知道如何转换MongoDB的ObjectID类型到JSON,处理方法:在序列化之前从字典里删除_id键
del doc["_id"]
jdoc=json.dumps(doc)
print "json format:\n",jdoc


widgets.insert({"name": "smorkeg", "description": "for external use only", "quantity": 4})
widgets.insert({"name": "clobbasker", "description": "properties available on request", "quantity": 2})
# 调用集合的find方法来获得集合中所有文档的列表
print "list of all documents:"
for doc in widgets.find():
print doc
# 获得文档的一个子集
print "the list of the documents whose quantity is 4:"
for doc in widgets.find({"quantity": 4}):
print doc

# 删除所有name键的值为flipnip的文档
widgets.remove({"name": "flibnip"})

更多MongoDB的使用:
http://www.cnblogs.com/TankMa/archive/2011/06/08/2074947.html
借鉴:
http://www.cnblogs.com/myblog-lyc/p/4331756.html


推荐阅读
  • MySQL日志分析在应急响应中的应用与优化策略
    在应急响应中,MySQL日志分析对于检测和应对数据库攻击具有重要意义。常见的攻击手段包括弱口令、SQL注入、权限提升和备份数据窃取。通过对MySQL日志的深入分析,不仅可以及时发现潜在的攻击行为,还能详细还原攻击过程并追踪攻击源头。此外,优化日志记录和分析策略,能够提高安全响应效率,增强系统的整体安全性。 ... [详细]
  • 本文介绍了使用 Python 编程语言高效抓取微博文本和动态网页图像数据的方法。通过详细的示例代码,展示了如何利用爬虫技术获取微博内容和动态图片,为数据采集和分析提供了实用的技术支持。对于对网络数据抓取感兴趣的读者,本文具有较高的参考价值。 ... [详细]
  • Python网络爬虫入门:利用urllib库进行数据抓取
    Python网络爬虫入门:利用urllib库进行数据抓取在数据科学和Web开发领域,Python凭借其简洁高效的特性成为首选语言。本文主要介绍了如何在Windows环境下使用Python的urllib库进行基本的网络数据抓取。考虑到命令行操作的不便,作者选择了Jupyter Notebook作为开发环境,不仅简化了配置过程,还提供了直观的数据处理和可视化功能。通过实例演示,读者可以轻松掌握urllib的基本用法,为深入学习网络爬虫技术打下坚实基础。 ... [详细]
  • 在生产环境中进行高效部署与优化 ... [详细]
  • SQLmap自动化注入工具命令详解(第28-29天 实战演练)
    SQL注入工具如SQLMap等在网络安全测试中广泛应用。SQLMap是一款开源的自动化SQL注入工具,支持12种不同的数据库,具体支持的数据库类型可在其插件目录中查看。作为当前最强大的注入工具之一,SQLMap在实际应用中具有极高的效率和准确性。 ... [详细]
  • voc生成xml 代码
    目录 lxmlwindows安装 读取示例 可视化 生成示例 上面是代码,下面有调用示例 api调用代码,其实只有几行:这个生成代码也很简 ... [详细]
  • 深入解析:Android开发进阶之Vim编辑器基础操作与应用
    本文深入探讨了Android开发中使用Vim编辑器的基础操作与应用。通过详细解析Vim的基本命令、配置文件和常用插件,帮助开发者提高代码编写效率。文章还介绍了如何在Android开发环境中高效利用Vim,包括集成开发环境(IDE)的配置和常见问题的解决方法。适合初学者和有经验的开发者参考。 ... [详细]
  • Windows 10 Build 14393.105累积更新详细变更记录与改进说明
    微软近期发布了Windows 10一周年更新版本14393.105的累积性更新,此次更新主要面向桌面版操作系统,并通过发布预览通道进行推送。该更新包含多项性能优化和稳定性提升,旨在改善用户的日常使用体验。以下是详细的变更记录和改进说明。 ... [详细]
  • 本文详细介绍了在Ubuntu操作系统中使用GDB调试工具深入分析和调试标准库函数`printf`的源代码过程。通过具体步骤和实例,展示了如何设置断点、查看变量值及跟踪函数调用栈,帮助开发者更好地理解`printf`函数的工作原理及其内部实现细节。 ... [详细]
  • 在Windows命令行中,通过Conda工具可以高效地管理和操作虚拟环境。具体步骤包括:1. 列出现有虚拟环境:`conda env list`;2. 创建新虚拟环境:`conda create --name 环境名`;3. 删除虚拟环境:`conda env remove --name 环境名`。这些命令不仅简化了环境管理流程,还提高了开发效率。此外,Conda还支持环境文件导出和导入,方便在不同机器间迁移配置。 ... [详细]
  • 在Python 3环境中,当无法连接互联网时,可以通过下载离线模块包来实现模块的安装。具体步骤包括:首先从PyPI网站下载所需的模块包,然后将其传输到目标环境,并使用`pip install`命令进行本地安装。此方法不仅适用于单个模块,还支持依赖项的批量安装,确保开发环境的完整性和一致性。 ... [详细]
  • 手机上编写和运行PHP代码的最佳软件推荐 ... [详细]
  • 黄聪:MySQL主从复制配置,实现高效读写分离
    大型网站为应对高并发访问,不仅需要在前端实现分布式负载均衡,还需在数据业务和访问层采取有效措施。采用传统的数据结构已无法满足需求,通过配置MySQL主从复制,可实现高效的读写分离,显著提升系统性能和稳定性。 ... [详细]
  • Nginx入门指南:从零开始掌握基础配置与优化技巧
    Nginx入门指南:从零开始掌握基础配置与优化技巧 ... [详细]
  • 在Linux系统中将Python更新至3.7版本的方法如下:首先,从Python官方网站下载Python 3.7的安装包,例如使用 `wget` 命令下载 `Python-3.7.3.tgz`。其他版本的下载链接也可从Python官网获取。接下来,解压下载的文件并进入解压后的目录,运行配置脚本和编译命令以完成安装。确保在安装过程中添加Python 3.7到系统的环境变量中,以便全局使用。此外,建议检查当前系统的Python版本,以避免冲突。 ... [详细]
author-avatar
张火蓉景荣馨季
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有