MongoDB

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()

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值