作者:创办m觉e内能h行宫 | 来源:互联网 | 2014-05-28 16:53
MongoDB在官网上直接下载二进制包mongodb-linux-i686-1.8.0.tgz,直接解压缩就可以运行了。tarzxvfmongodb-linux-i686-1.8.0.tgzcdmongodb-linux-i686-1.8.0/binmkdir-p~/data/db/1、服务端运行:./mongod--
MongoDB在官网上直接下载二进制包
mongodb-linux-i686-1.8.0.tgz,直接解压缩就可以运行了。
tar zxvf mongodb-linux-i686-1.8.0.tgz
cd mongodb-linux-i686-1.8.0/bin
mkdir -p ~/data/db/
1、服务端运行:
./mongod --dpath ~/data/db &
启动后出一些提示信息。
2、客户端:
./mongo
>
使用方法和mysql 很像,如:
show dbs —— show databases;
show collectioins —— show tables;
use —— use
增加、删除、查找、修改命令格式如下:
db..command
1)增加
> db.foo.save({a:11})
此时,MongoDB会建立foo
collection,并将记录{a:11}插入foo中。同时会给该记录分配一个_id,如:
"_id" : ObjectId("4d8aaa03b2f4ee80e14f59aa")
注:MongoDB中的一条记录可以是任何形式的JSON串,关于JSON的说明请参考http://www.json.org/json-zh.html。同一个collection中,记录的格式可以是完全不通的,如:{name:"huaying",
note:{phone_no:1234567, addr:"zhongguancun"}} 可以与{a:11}存放
在同一个collection内。
2)查找
> db.foo.find() 查询所有记录
> db.foo.findOne()查询一条记录
> db.foo.find(condition) 查询满足条件的所有记录
> db.foo.findOne(condition)查询满足条件的一条记录
condition也是以JSON形式给出的
3)删除
> db.foo.remove()删除所有记录
> db.foo.remove(condition)删除满足条件的记录
更详细的操作请参考:
3、 python driver
先安装pymongo,在python脚本中import pymongo
1)安装setuptools
# yum search setuptools
# yum install python-setuptools.noarch
# easy_install pymongo
2)使用方法
以一个python脚本为例来说明如何使用
test.py
###########################################
#!/usr/bin/env python
import datetime
from pymongo import Connection
#创建连接
cOnnection= Connection()
#创建database
db = connection.foo
#定义一条记录
post = {"author":"Mike",
"text":"My first blog post!",
"tags":["mongodb", "python", "python"],
"data": datetime.datetime.utcnow()}
#创建collection
posts = db.posts
#将记录插到collection中
posts.insert(post)
#列出当前database中所有collection
data = db.collection_names()
print data
#列出一条记录
data = posts.find_one()
print data
#########################################
以上只是MongoDB的简单使用,数据库的关键是schema的设计。NOSQL目前大规模成功的应用还不多,使用风险比较大,可以作为Mysql的补充在系统中使用