一. 下载
从http://www.mongodb.org/downloads地址中下载:mongodb-linux-x86_64-2.4.11.tar
二. 安装
1>设置mongoDB目录
[root@vm13
home]#cd /home/apps
附:centOS下创建目录命令 [root@vm13 home]#mkdir -p /home/apps
2>将文件mongodb-linux-x86_64-2.4.11.tar上传至/home/apps目录
3>解压缩文件
[root@vm13
apps]#tar xzf mongodb-linux-x86_64-2.4.11.tar
文件夹重命名
[root@vm13
apps]#mv mongodb-linux-x86_64-2.4.11 mongodb
4>创建目录与文件
[root@vm13
apps]# mkdir -p mongodb/data/db
[root@vm13
apps]# mkdir -p mongodb/logs
[root@vm13
apps]# touch mongodb/logs/mongodb.logs
5>启动服务
[root@vm13
apps]#./mongodb/bin/mongod -dbpath=/home/apps/mongodb/data/db
-logpath=/home/apps/mongodb/logs/mongodb.logs
all output going
to: /home/apps/mongodb/logs/mongodb.logs
6>将mongoDB服务加入随机启动
[root@vm13
apps]#vi /etc/rc.local
使用vi编辑器打开配置文件,并在其中加入下面一行代码
[root@vm13
apps]#/home/apps/mongodb/bin/mongod --dbpath /home/apps/mongodb/data/db --port
27017 --logpath /home/apps/mongodb/logs/mongodb.logs --logappend
7>连接mongoDB(注意不要关闭之前的界面,需要重新打开一个窗口连接)
[root@vm13
apps]# ./home/apps/mongodb/bin/mongo DBName
MongoDB shell
version: 2.4.11
connecting to:
DBName
Welcome to the
MongoDB shell.
For interactive
help, type "help".
For more
comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try
the support group
http://groups.google.com/group/mongodb-user
出现以上界面表示连接成功。
三.
局域网连接mongoDB
按照上面的操作,mongoDB的在Linux下安装已完成,本地连接mongoDB也已成功。这时我们就要考虑到另外一个问题了,局域网如何来连接mongoDB呢?局域网中windows机器如何来连接Linux机器中的mongoDB呢?其实做法一样很简单:
[root@vm13 apps]#./mongodb/bin/mongo 192.168.5.100/DBName
不过此处就需要注意了,我们需要在centOS上打开mongoDB的端口号,接下来讲讲如何在centOS上打开指定端口。先来查看下此端口是否被占用:
[root@vm13 apps]#netstat -anp |grep 27017
如若此端口未使用,再来打开配置文件[root@vm13 apps]# vi
/etc/sysconfig/iptables,在该文件中添加如下内容:
# Firewall configuration written by
system-config-securitylevel
# Manual
customization of this file is not recommended.
*filter
:INPUT ACCEPT
[0:0]
:FORWARD ACCEPT
[0:0]
:OUTPUT ACCEPT
[0:0]
:RH-Firewall-1-INPUT
- [0:0]
-A
RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
COMMIT
然后重启服务.
[root@vm13 apps]#service iptables
restart
此时,你已可以开始通过局域网来访问centOS上部署的mongoDB.
在本地浏览器中输入http://192.168.5.100:27017/,若出现以下:
You are trying to access MongoDB on the
native driver port. For http diagnostic access, add 1000 to the port number
表示连接成功。
四. 安装过程中遇到的问题
1. Error: couldn't connect to server 127.0.0.1:27017
src/mongo/shell/mongo.js:91
三、解决办法:执行以下语句
[root@vm13 mongodb]# ./bin/mongod
-dbpath=data/db
2.重启防火墙时报错:
解决方法:在最后添加COMMIT.
五、
语法使用
client = pymongo.MongoClient("192.168.1.252",27017)
#content代表是ceshi这个数据库,没有就新建
content = client["ceshi"]
#wb_data变量的值content_links是在测试这个库里面的表名
wb_data = content["content_links"]
1、 写入数据库。
#data指的是爬虫程序已经生成的一个一个字典类型的数据
wb_data.insert_one(data)
2、 读取数据库。
wb_data.find是查找所有数据,这里面可以筛选,例如:查找name=张三
for data in wb_data.find({‘name’:’zhangsan’}):
print(data)
例如二:查找年龄小于22岁:
for data in wb_data.find({‘age’:{‘$lt’:‘22’}}):
print(data)
例如三:查找这个表的所有数据:
for data in wb_data.find():
print(data)
$lt=小于
$lte=小于等于
$gt=大于
$gte=大于等于
$ne=不等于