mongodb
安装
下载软件包 mongodb-linux-x86_64-3.0.6.tgz
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
mv mongodb-linux-x86_64-3.0.6 /usr/local/mongodb/ 将解压后的目录移动到 指定的位置
mkdir -p /data/db 创建一个目录 用来存储数据库文件
export PATH=/usr/local/mongodb/bin:$PATH 写入环境变量
启动
cd /usr/local/mongodb/bin
./mongod --dbpath=/data/db/ --logpath=/usr/local/mongodb/mongodb.log --logappend &
指定数据文件路径 指定日志文件路径 日志追加 后台启动
./mongod --dbpath=/data/db/ --rest 通过浏览器的方式 访问
客户端链接mongo
./mongo
mongodb://localhost
创建数据库
> use test 新建 并切换数据库
switched to db test
> db
test
> show dbs 列出所有的数据库
往数据库中插入内容
> db.test.insert({"name":"kangbazi"})
WriteResult({ "nInserted" : 1 })
删除数据库
db.dropDatabase()
删除哪个数据库之前 先 use 数据库
db.dropDatabase()
创建集合
show collection 查看 已经有的集合
> db.createCollection("test",{})
{ "ok" : 1 }
> db.test.insert({"kangbazi":"1804"})
WriteResult({ "nInserted" : 1 })
删除集合
db.collection.drop()
> use kangbazi
switched to db kangbazi
> show collections
kangbazi
system.indexes
test
> db.test.drop()
true
> show collections
kangbazi
system.indexes
插入文档 db.集合名称.insert() 这里的文档可以理解为数据
> use kangbazi
switched to db kangbazi
> db.createCollection("my1804",{})
{ "ok" : 1 }
> db.my1804.insert({title:'东风吹战鼓雷',number:666,url:'http://kangbazi.com',classmate:['tengfei','jinlong']})
WriteResult({ "nInserted" : 1 })
> db.my1804.find() 查找文档
{ "_id" : ObjectId("5b5abd7d8b50a50f4967ea39"), "title" : "东风吹战鼓雷", "number" : 666, "url" : "http://kangbazi.com", "classmate" : [ "tengfei", "jinlong" ] }
更新文档 db.集合名称.update()
> db.my1804.update({'title':'东风吹战鼓雷'},{$set:{'title':'当今世界谁怕谁'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.my1804.find()
{ "_id" : ObjectId("5b5abd7d8b50a50f4967ea39"), "title" : "当今世界谁怕谁", "number" : 666, "url" : "http://kangbazi.com", "classmate" : [ "tengfei", "jinlong" ] }
查询文档 db.集合名称.find().pretty()
db.my1804.find().pretty()
{
"_id" : ObjectId("5b5abd7d8b50a50f4967ea39"),
"title" : "当今世界谁怕谁",
"number" : 666,
"url" : "http://kangbazi.com",
"classmate" : [
"tengfei",
"jinlong"
]
}
删除文档
> db.my1804.remove({"url":"http://kangbazi.com"}) 表示 删除 url 为 http://kangbazi.com的文档
好比是 delete from 表名 where 条件
WriteResult({ "nRemoved" : 1 })
> db.my1804.find().pretty()
> db.my1804.find()
用python操作 mongodb
安装pymongo
1.sudo pip install pymongo
pip install --upgrade pip
2.sudo apt-get install git
切换到你的目录
git clone https://github.com/mongodb/mongo-python-driver.git
cd mongo-python-driver/
/usr/bin/python setup.py install
插入文档
#!/usr/bin/python
from pymongo import MongoClient
#!/usr/bin/python
from pymongo import MongoClient
#连接服务器
con = MongoClient('localhost',27017)
#创建数据库
db = con.python1804
#创建集合
coll = db.kangbazi
coll.insert({"name":"kangbazi","age":19,"height":"180cm","isLock":0})
con.close()
python inserts.py
查询文档
#!/usr/bin/python
import pymongo
from pymongo import MongoClient
from bson.objectid import ObjectId
#连接服务器
con = MongoClient("localhost",27017)
db = con.python1804
col = db.kangbazi
#查询文档
'''
res = col.find({"age":{"$gt":18}})
for row in res:
print(row)
'''
#统计数目
'''
res = col.find({"age":{"$gt":18}}).count()
print(res)
'''
#根据id 查询
'''
res = col.find({"_id":ObjectId('5b5ac9775324f176ede11bb5')})
print(res[0])
'''
#根据年龄排序
'''
res = col.find().sort("age")
for row in res:
print(row)
'''
#分页查询
res = col.find().skip(2).limit(3)
for row in res:
print(row)
con.close()
python selectes.py
更新文档
#!/usr/bin/python
from pymongo import MongoClient
#连接服务器
con = MongoClient('localhost',27017)
#创建数据库
db = con.python1804
#创建集合
coll = db.kangbazi
coll.update({"name":"jinlong"},{"$set":{"name":"ouyang"}})
con.close()
删除文档
#!/usr/bin/python
from pymongo import MongoClient
#连接服务器
con = MongoClient('localhost',27017)
#创建数据库
db = con.python1804
#创建集合
coll = db.kangbazi
#coll.remove({"name":"ouyang"})
coll.remove()
con.close()