1 安装
2.连接数据库
先把mongodb的服务启动,
打开这个目录下运行cmd,然后复制E:\MongoDB\data,在命令里面运行:
mongod –dbpath E:\MongoDB\data
然后怎么连接MongoDB数据库那?
三种方式:
from pymongo import MongoClient
def test1():
# m每次运行Client都会生成一条conn
client = MongoClient()
# client2 = MongoClient('localhost', 27017)
# client3 = MongoClient('mongodb://localhost:27017')
# 生成端口号和 id
print(client.PORT) #27017
print(client.HOST) # localhost
# 查看本地有多少数据库
print(client.database_names()) # ['admin', 'config', 'local']
client.close()
# 关闭后还是可以访问,因为它内置到pymongo里面的连接池。所以也不必要关闭
print(client.database_names())
3.新增数据
数据库可以接受python的类型,写入。
class TestMongo(object):
def __init__(self):
self.client = MongoClient()
self.db = self.client['blog']
def add_one(self):
'''新增一条数据'''
import time
post = {
'title':'标题',
'content' :'内容',
'created_at':time.time()
}
rest = self.db.blog.posts.insert_one(post)
return rest
def main():
obj = TestMongo()
rest = obj.add_one()
print(rest.inserted_id)
if __name__ == '__main__':
main()
可以看更多,添加多条数据
https://api.mongodb.com/python/current/api/
https://api.mongodb.com/python/current/api/pymongo/collection.html
4.修改数据
5. 删除数据
删除成功就是大于零,失败就是0.
所有的代码:
# coding:utf-8
from pymongo import MongoClient
def test1():
# m每次运行Client都会生成一条conn
client = MongoClient()
# client2 = MongoClient('localhost', 27017)
# client3 = MongoClient('mongodb://localhost:27017')
# 生成端口号和 id
print(client.PORT) #27017
print(client.HOST) # localhost
# 查看本地有多少数据库
print(client.database_names()) # ['admin', 'config', 'local']
client.close()
# 关闭后还是可以访问,因为它内置到pymongo里面的连接池。所以也不必要关闭
print(client.database_names())
#test1()
class TestMongo(object):
def __init__(self):
self.client = MongoClient()
self.db = self.client['blog']
def add_one(self):
'''新增一条数据'''
import time
post = {
'title':'标题',
'content' :'内容3',
'created_at':time.time(),
'x': 4
}
rest = self.db.blog.posts.insert_one(post)
return rest
def get_one(self):
'''查询一条数据'''
return self.db.blog.posts.find_one()
def get_more(self):
'''查询多条数据'''
return self.db.blog.posts.find()
def get_from_oid(self,oid):
'''根据记录的ID 获得数据'''
#
from bson.objectid import ObjectId
return self.db.blog.posts.find_one({'_id':ObjectId(oid)})
def update(self):
'''修改数据'''
# 修改一条数据,我们找到符合标题为first的的数据,有多条的话就修改一条,增加3;
# 如果没有失败
rest = self.db.blog.posts.update_one({'title':"标题7"}, {'$inc':{'x' : 3}})
print(rest.matched_count)
print(rest.modified_count)
# 修改多条数据
rest = self.db.blog.posts.update_many({}, {'$inc': {'x': 1}})
print(rest.matched_count)
print(rest.modified_count)
def delete(self):
'''删除数据'''
# 删除一条数据
#return self.db.blog.posts.delete_one({'x':4})
# 删除多条数据
return self.db.blog.posts.delete_many({'x':4})
def main():
obj = TestMongo()
# rest = obj.add_one()
# print(rest.inserted_id)
# rest = obj.get_one()
# print(rest) # {'content': '内容', 'title': '标题', 'created_at': 1529225922.4452477, '_id': ObjectId('5b2622c2bb0765132407a14d')}
# # 它是一个字典的形式
# print(rest['_id']) # 5b2622c2bb0765132407a14d
# rest = obj.get_from_oid('5b26251bbb07651f740597c5')
# print(rest) # {'content': '内容3', 'title': '标题', 'created_at': 1529226523.9236503, '_id': ObjectId('5b26251bbb07651f740597c5')}
#rest = obj.update()
rest = obj.delete()
print(rest.deleted_count)
if __name__ == '__main__':
main()
数据库笔记(1)-简述
数据库笔记(2)- Mysql 基础
数据库笔记(3)-ORM
数据库笔记(4)-网易新闻的实战
数据库笔记(5)- MongoDB基础
数据库笔记(6)- Python 操作MongoDB
数据库笔记(7)- MongoDB ORM
数据库笔记(8)- 网易新闻实战
数据库笔记(9)- Redis 数据库基础
数据库笔记(10)- Python 操作Redis
网友评论