加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python-Web-数据库-mongodb

发布时间:2020-12-20 12:51:43 所属栏目:Python 来源:网络整理
导读:理念: ---- 无创建数据库方法,使用即创建 ---- 里面无数据,即数据库不存在 ---- 数据库有表,表里有一条数据,则数据库存在 ---- 表数据为 JSON 格式【 { ‘name’:’lisi’,’age’:18} , {...} , {...} 】 增 Use 数据库名 ------ 进入数据库 -------

理念:

----无创建数据库方法,使用即创建

----里面无数据,即数据库不存在

----数据库有表,表里有一条数据,则数据库存在

----表数据为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(条件)-----数据

?

?

?

>>>条件操作符

?

  • (>) 大于 - $gt
  • (<) 小于 - $lt
  • (>=) 大于等于 - $gte
  • (<= ) 小于等于 - $lte

?

// 大于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 按升序排序

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读