python全栈开发day117-MongoDB,pymongo

1.MongoDB操作
  

	使用了不存在的对象即创建该对象
	1.增加:
		官方不推荐写法:
			insert([{},{},{}]) 
		官方推荐写法:
			insertOne({})
			insertMany([{},{},{}])
	
	2.删除:
		官方不推荐写法:
			remove({}) # delete
		官方推荐写法:
			deleteOne({})
			deleteMany({})
			
	3.修改:
		$修改器
		官方不推荐写法:
			update({},{$set:{}})
			
		官方推荐写法:
			updateOne({},{$set:{}})
			updateMany({},{$set:{}})
	
	4.查询
		find({条件})
		findOne({条件})
	
	
	
	$: 存储 符合条件的列表元素的下标索引 hobby.$ : 1
	$关键字:
		$lt
		$gt
		$lte
		$gte
		$eq :
		
		$all 满足所有元素的数据 $all:[1,3,2]
		$in 满足其中一个元素的数据 $in:[1,2,5,6]
		$or 满足其中一个字段的数据 $or:[{name:1},{age:2}]
	
	$修改器:
		$set 直接将Key设定为value
		$inc 将Value加在 Key对应的value上
		$unset 删除字段(field)
		
		Arrays:
		$push list.append() 添加元素
		$pull list.remove() 删除指定元素
		$pop list.pop() 删除最后一个:1 或者 第一个:-1

 

2.pymongo

import pymongo

mongo_client = pymongo.MongoClient(host="127.0.0.1",port=27017)

mongo_db = mongo_client["S12DAY117"]

#查询
# res = mongo_db.user.find()
# print(res)
# for i in res:
#     print(i)
# res = mongo_db.user.find_one({"name":"yinwangba"})
# print(res)


# 插入
# res = mongo_db.chat.insert_one({})
# res = mongo_db.chat.insert_many([{},{},{}])
# print(res,res.inserted_ids)


# 改:
# res = mongo_db.user.update_one({"name":"jinwangba"},{"$set":{"age":888}})
# res = mongo_db.user.update_many({"age":{"$gte":0}},{"$set":{"age":888}})
# print(res,dir(res),res.modified_count)


# 删除:
# res = mongo_db.user.delete_one({"name":"xiaozhuer"})
# res = mongo_db.user.delete_many({})
# print(res,dir(res),res.deleted_count)


res = mongo_db.user.find_one({"name":"mjj"})
print(res)

for index,item in enumerate(res.get("course")):
    if res.get("course")[index]["course_name"] == "Python":
        res.get("course")[index]["course_name"] = "Django Web框架"

    if res.get("course")[index]["course_name"] == "Vue.js":
        res.get("course")[index]["course_name"] = "Flask Web框架"

    if res.get("course")[index]["course_name"] == "MySQL":
        res.get("course")[index]["course_name"] = "MongoDB"


res = mongo_db.user.update_one({"name":"mjj"},{"$set":res})

  

原文地址:https://www.cnblogs.com/wuchenggong/p/9804514.html