python操作mongodb的基本操作命令

import pymongo

# 连接mongo数据库
db = pymongo.MongoClient(host='127.0.0.1', port=27017)
# 数据库名为 test 连接数据库,没有则自动创建
db_test = db.test
print(db_test)
# Database(MongoClient(host=['127.0.0.1:27017'], document_class=dict, tz_aware=False, connect=True), 'test')

# 创建test_set集合, 相当于 test库 的表名
db_set = db_test.test_set
print(db_set)
# Collection(Database(MongoClient(host=['127.0.0.1:27017'], document_class=dict, tz_aware=False, connect=True), 'test'), 'test_set')

# 显示所有数据库
dbs = db.list_database_names()
print(dbs)
# ['admin', 'config', 'db_video', 'hello_mongo', 'local', 'mydb', 'rideo', 'test']

# 插入数据
# users = [{"name": "zhangsan", "age": 18}, {"name": "lisi", "age": 20}]
# db_set.insert(users)

# 更新名字叫zhangsan的信息,将年龄改成25
db_set.update({"name": "zhangsan"}, {'$set': {"age": 20}})
# 查找年龄等于20的第一个用户信息
user1 = db_set.find_one({"age": 20})
print("find_one : ", user1) # 字典
# find_one : {'_id': ObjectId('5dcfbd3d4be52c1057d181d9'), 'name': 'zhangsan', 'age': 20}
# 遍历用户信息 表.find()查找全部信息
for i in db_set.find():
print(i)
# {'_id': ObjectId('5dcfbd3d4be52c1057d181d9'), 'name': 'zhangsan', 'age': 20}
# {'_id': ObjectId('5dd265c41245d259da7a1f56'), 'name': 'lisi', 'age': 20}

print(i['name'])
# zhangsan
# lisi
print("***********")
# find()是游标对象
print(db_set.find())
# <pymongo.cursor.Cursor object at 0x0000000002F05DD8>
print("***********")

# 获取大于15岁的用户的信息
user2 = db_set.find({"age": {'$gte': 15}})
print(user2) # <pymongo.cursor.Cursor object at 0x0000000002F06E48>
for i in user2:
print("find : ", i, type(i)) # 返回的是一个游标

# 查找所有信息,病获取第一个
user3 = db_set.find().limit(1)
print(type(user3), user3, user3[0])
# <class 'pymongo.cursor.Cursor'>
# <pymongo.cursor.Cursor object at 0x0000000002F21668>
# {'_id': ObjectId('5dcfbd3d4be52c1057d181d9'), 'name': 'zhangsan', 'age': 20}
# find : {'_id': ObjectId('5dd265c41245d259da7a1f56'), 'name': 'lisi', 'age': 20} <class 'dict'>
print("-------------")
# 创建文档数据
person_one = {
'name': '小米',
'age': '24',
'height': '175',
'weight': '60'
}
person_two = {
'name': '大米',
'age': '24',
'height': '175',
'weight': '60'
}

#批量文档插入数据库
result = db_set.insert_many([person_one, person_two]) # 文档插入集合
print(result) # 打印结果 <pymongo.results.InsertManyResult object at 0x0000000002F17348>
print(result.inserted_ids) # 打印插入数据的返回 id 标识
#[ObjectId('5dd6031eb9699584671e5ed1'), ObjectId('5dd6031eb9699584671e5ed2')]
#
# 根据key 删除key为name的值
db_set.remove({"name": "大米"})
db_set.remove({"name": "小米"})
# 一个文档插入数据库
res = db_set.insert_one(person_one)
print(res) #<pymongo.results.InsertOneResult object at 0x0000000002F174C8>
#查找name等于小米的用户信息
for i in db_set.find({"name": "小米"}):
print(i['name'])
db_set.remove({"name": "小米"})



猜你喜欢

转载自www.cnblogs.com/maplethefox/p/11904521.html
今日推荐