热门标签 | 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


推荐阅读
  • 本文详细介绍了如何在 Ubuntu 16.04 系统上配置 Qt 5.5 的交叉编译环境,特别针对 i.MX6 平台进行了优化设置。内容涵盖从基本的软件安装到高级配置的全过程。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • Node.js在服务器上的多种部署策略
    本文探讨了Node.js应用程序在服务器上部署的几种有效方法,包括使用Screen、PM2以及通过宝塔面板进行简易管理。 ... [详细]
  • 深入体验Python的高级交互式Shell - IPython
    IPython 是一个增强型的 Python 交互式 Shell,提供了比标准 Python 控制台更为强大的功能,适用于开发和调试过程。它不仅支持直接执行 Linux 命令,还提供了丰富的特性来提高编程效率。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 在Ubuntu 16.10 (x86) 上安装 WordPress 4.7.115
    本文介绍如何在Ubuntu 16.10 (x86) 系统上安装WordPress 4.7.115,包括下载、解压、配置等步骤,确保安装过程顺利进行。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 在Linux系统中,许多应用程序以源代码的形式提供,这给安装带来了挑战。本文旨在介绍一种简化源码软件安装流程的方法,帮助用户更加轻松地完成安装。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 本文介绍了一种方法,通过使用Python的ctypes库来调用C++代码。具体实例为实现一个简单的加法器,并详细说明了从编写C++代码到编译及最终在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社区 版权所有