Python-Web-数据库-mongodb
理念: ----无创建数据库方法,使用即创建 ----里面无数据,即数据库不存在 ----数据库有表,表里有一条数据,则数据库存在 ----表数据为JSON格式【{‘name’:’lisi’,’age’:18},{...},{...}】 >>>增 Use 数据库名------进入数据库 -----------db.表名.insertOne({})单条 ??插入数据并建表(自动) ------------db.表名.insertMany([{}])多条 ? >>>删 ? MongoDB 删除数据库的语法格式如下: ? db.dropDatabase() ? 集合删除语法格式如下: ? db.collection.drop() ? 数据删除: ? db.collection.remove(条件,) ? >>>改 ? db.test0.update( { "count" : { $gt : 1 } },{ $set : { "test2" : "OK"} } ); ? ----db.表名.update(查找,更改) ? ----updateOne | updateMany ? ({"条件"},{"关键字":{"修改内容"}}) ? update修改器: $inc $set $unset $push $pull ? >>>查? ? show dbs------查数据库 ? --------db ------查当前所在库 ? --------db.collections------查表 ? ---------db.表名.find(条件)-----数据 ? ? ? >>>条件操作符 ?
? // 大于100 ? db.col.find({"likes" : {$gt : 100}}) ? // 2条数据 ? db.表.find().limit(2) ? // 排序,按title ? db.表.find().sort({"title":-1}) ? // 设立title索引 ? db.表.ensureIndex({"title":1}) ? // 聚合函数-----以by_user字段为组,求和num_tutorial字段 ? db.表.aggregate([{$group : {_id : "$by_user",num_tutorial : {$sum : 1}}}]) ? $avg计算平均值 ? $min??$max ? ? ? Python mongodb ? >>>安装 ? $ python3 -m pip3 install pymongo ? >>>创建一个数据库? 1 import pymongo 4 myclient = pymongo.MongoClient("mongodb://localhost:27017/") 7 mydb = myclient["runoobdb"] ? >>>创建表 ? Mycol = mydb[‘test’] ? 所有数据库 myclient.list_database_names() ? 所有表 mydb.list_collection_names() ? 增: ? 1 X = mycol.insert_one(mydict) 2 X.inserted_id 3 X.name 4 X = mycol.insert_many(mydict) 5 X.inserted_ids ? 删: ? mycol.delete_one(条件)
mycol.delete_many(条件)
mycol.drop() # 删除表
? 改: ? 1 myquery = { "alexa": "10000" } 2 newvalues = { "$set": { "alexa": "12345" } } 3 mycol.update_one(myquery,newvalues) ? // 多 ? myquery = { "name": { "$regex": "^F" } } newvalues = { "$set": { "alexa": "123" } } x = mycol.update_many(myquery,newvalues) ? 查: ? X = mycol.find_one(范围) myquery = { "name": { "$gt": "H" } } # 大于 mydoc = mycol.find(myquery) myquery = { "name": { "$regex": "^R" } } # 正则表达式 mydoc = mycol.find(myquery) myresult = mycol.find().limit(3) # 3 条 mydoc = mycol.find().sort("alexa") # 字段 alexa 按升序排序 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |