zoukankan      html  css  js  c++  java
  • MongoDB 基本操作增删改查

    import pymongo
    
    mongo_client = pymongo.MongoClient(host="127.0.0.1",port=27017)
    
    DB = mongo_client["users"]
    
    1.查询
    res = list(DB.school.find())
    res = DB.school.find_one({"class_name":"16"},{"_id":0,"student":1})
    res = DB.school.find_one({"class_name":"16"})
    res = DB.school.find_one({"student.name":"哈哈"})
    res = DB.school.find_one({'$or':[{"class_name":"S16"},{"school_name":"清华"}]})
    res = DB.school.find_one({"userlist":{"$all":[3,4,2]}})
    print(res)
    res["_id"] = str(res.get("_id"))
    import json
    a = json.dumps(res)
    print(a)
    
    2.增加数据
    res = DB.school.insert_one({"name":1})
    print(res,res.inserted_id,type(res.inserted_id))
    res = DB.school.insert_many([{"name":3},{"name":4},{"name":5}])
    print(res,res.inserted_ids)
    奇葩数据
    res = DB.oldboy.insert_one({"user_list":[{"hobby":["抽烟","喝酒"]},{"hobby":[{"name":"car","type":"SUV"},{"name":"motor","type":"BMW"}]}]})
    
    
    3.修改数据
    $ 存储 array 符合条件元素的下标索引
    from bson import ObjectId
    res = DB.school.update_one({"_id":ObjectId("5c7e280ed0df65358812ccab")},{"$push":{"userlist":888}})
    res = DB.school.update_one({"userlist":888},{"$set":{"userlist.$":666}})
    res = DB.school.update_one({"userlist":666},{"$set":{"userlist.0":888}})
    print(res,res.modified_count)
    """
    {
    	"_id" : ObjectId("5c7e3fcbd3620e1130463178"),
    	"user_list" : [
    		{
    		"hobby" : [
    			"抽烟",
    			"喝酒"
    		]
    	},
    		{
    		"hobby" : [
    			{
    			"name" : "car",
    			"type" : "SUV"
    		},
    			{
    			"name" : "motor",
    			"type" : "BMW"
    		}
    		]
    	}
    	]
    }
    """
    res = DB.oldboy.find_one({})
    print(res)
    for index,item in enumerate(res.get("user_list")):
        for hobby,hobby_item in enumerate(item.get("hobby")):
            if type(hobby_item) == dict:
                if hobby_item.get("name") == "motor":
                    res["user_list"][index]["hobby"][hobby]["type"] = "Suzuki"
    
    DB.oldboy.update_one({"_id":res.get("_id")},{"$set":res})
    
    4.删除
    from bson import ObjectId
    res = DB.oldboy.delete_one({'_id': ObjectId('5c7e3fcbd3620e1130463178')})
    print(res,dir(res),res.deleted_count)
    
    
    选取 跳过 排序
    res = list(DB.school.find().limit(5).skip(5))
    print(res,len(res))
    
    排序
    res = list(DB.school.find().limit(5).skip(5).sort("_id",pymongo.ASCENDING))
    res = list(DB.school.find().limit(5).skip(5).sort("_id",pymongo.DESCENDING))
    print(res,len(res))
    

      

  • 相关阅读:
    《Code Complete》第一部分纪要
    深入理解Java虚拟机-JVM内存管理的猜测
    成长经验系列之三-猜想-技术未来
    深入理解Java虚拟机-第三版-前言及第一章笔记
    float与double的精度问题
    成长经验系列之二-方法-成长分享
    工作可能用的一些网站(不定时更新)
    Walkthrough: Write your first client script
    Make a Field Required in a Dynamics CRM Dialog / PowerApps
    Refresh Power BI Dataset programmatically from Dynamics 365 CRM/PowerApps
  • 原文地址:https://www.cnblogs.com/PythonMrChu/p/10486271.html
Copyright © 2011-2022 走看看