0
点赞
收藏
分享

微信扫一扫

Task02:数据库的基本使用(MongoDB)

蓝莲听雨 2022-03-11 阅读 54
mongodb

Task02:数据库的基本使用(MongoDB)

1. 安装

参见Task01里面的步骤在Linux平台上进行安装,这里不再赘述

2. 简介

3. 特点

4. 概念

5. 数据库的基本操作

5.1 新建

语法格式为

use DATABASE_NAME

use同样也可以用来切换数据库,或者说本身就是切换数据库的命令。只是如果当数据库不存在的时候,就新建该数据库,否则切换到该数据库。

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
> use toy
switched to db toy
> db
toy
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
> 

我们发现,虽然已经新建了数据库toy,但是其并不在数据库列表当中。但是查询当前所在的数据库,却又显示为toy,证明创建成功。这应该是因为数据库当中没有数据。

5.2 删除

语法如下:

db.dropDatabase()

切换到要删除的数据库,运行该命令即可

5.3 查看

db是显示当前数据库,show dbs是展示所有数据库

> db
toy
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

6.集合(表)的基本操作

6.1 新建

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
> use toy
switched to db toy
> db
toy
> db.createCollection("Marvel")
{ "ok" : 1 }
> db.createCollection("Disney")
{ "ok" : 1 }
> show tables
Disney
Marvel
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
toy     0.000GB
> 

6.2 删除

语法格式:

db.collection.drop()

这里的cpllection指的是集合的名字

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
toy     0.000GB
> db
toy
> show tables
Disney
Marvel
> db.Marvel.drop()
true
> show tables
Disney
> db
toy
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
toy     0.000GB
> 

6.3 查看

语法格式:

show tables

7. 文档(行,记录)的基本操作

7.1 新建

> show tables
Disney
> db
toy
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
toy     0.000GB
> show tables
Disney
> db.Disney.insert({name:'Mickey',type:'mouse'})
WriteResult({ "nInserted" : 1 })
> db.Disney.insert({name:'Donald',type:'duck'})
WriteResult({ "nInserted" : 1 })
> db.Disney.insert({name:'Goofy',type:'dog'})
WriteResult({ "nInserted" : 1 })
> db.Disney.insert({name:'Pluto',type:'dog'})
WriteResult({ "nInserted" : 1 })

我们可以用find来查看集合(表)当中的文档(记录)

> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }

我们也可以将文档赋予变量,然后插入变量

> document = {name:'Minnie',type:'mouse'}
{ "name" : "Minnie", "type" : "mouse" }
> db.Disney.insert(document)
WriteResult({ "nInserted" : 1 })
> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225f9c339108c22ab583668"), "name" : "Minnie", "type" : "mouse" }
> 

7.2 删除

我们先执行一个重复插入数据,便于接下来演示如何删除,然后查看集合

> db.Disney.insert(document)
WriteResult({ "nInserted" : 1 })
> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225f9c339108c22ab583668"), "name" : "Minnie", "type" : "mouse" }
{ "_id" : ObjectId("6225fafb39108c22ab583669"), "name" : "Minnie", "type" : "mouse" }

可以看到,Minnie出现了两次,我们尝试去删除:

> db.Disney.remove({name:'Minnie'})
WriteResult({ "nRemoved" : 2 })
> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }

直接删除的话,会删除全部符合条件的文档,如果只想删除找到的第一条记录:

>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)

实例如下:

> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225fc2239108c22ab58366b"), "name" : "Minnie", "type" : "mouse" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }
> db.Disney.remove({name:'Minnie'},1)
WriteResult({ "nRemoved" : 1 })
> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }
> 

如果想要删除集合内所有的文档,可以使用类似常规 SQL 的 truncate 命令:

> db.col.remove({})
WriteResult({ "nRemoved" : 2 })
> db.col.find()
> 

7.3 更新1

由于高飞是直立行走,所以我们也可以将其种类改为人类

> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }
> db.Disney.update({name:'Goofy'},{$set:{type:'human'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "human" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }

我们再把高飞的分类给改回去

> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "human" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }
> db.Disney.save({ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" })
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }

save是直接替换样式的,会直接根据_id替换掉整个文档,应该是多用于自建_id

> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }
> db.Disney.save({ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy"})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }
> 

7.4 查询

7.4.1 全体查询

> db.Disney.find().pretty()
{
	"_id" : ObjectId("6225f8ed39108c22ab583664"),
	"name" : "Mickey",
	"type" : "mouse"
}
{
	"_id" : ObjectId("6225f90e39108c22ab583665"),
	"name" : "Donald",
	"type" : "duck"
}
{
	"_id" : ObjectId("6225f92839108c22ab583666"),
	"name" : "Goofy",
	"type" : "dog"
}
{
	"_id" : ObjectId("6225f93939108c22ab583667"),
	"name" : "Pluto",
	"type" : "dog"
}
{
	"_id" : ObjectId("6225fc3e39108c22ab58366c"),
	"name" : "Minnie",
	"type" : "mouse"
}
> 

7.4.2 AND查询

例如我们要找一只名叫Minnie的耗子

> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }
{ "_id" : ObjectId("62260283f30eb8653fdcae00"), "name" : "Minnie", "type" : "mouse" }
> db.Disney.find({name:'Minnie',type:'mouse'})
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }
{ "_id" : ObjectId("62260283f30eb8653fdcae00"), "name" : "Minnie", "type" : "mouse" }
> 

7.4.3 OR查询

例如我们要找狗和耗子:

> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }
{ "_id" : ObjectId("62260283f30eb8653fdcae00"), "name" : "Minnie", "type" : "mouse" }
> db.Disney.find({$or:[{type:'dog'},{type:'mouse'}]})
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }
{ "_id" : ObjectId("62260283f30eb8653fdcae00"), "name" : "Minnie", "type" : "mouse" }

7.4.4 联用ANDOR

假如我们要找狗,高飞和布鲁托或者都可以:

> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }
{ "_id" : ObjectId("62260283f30eb8653fdcae00"), "name" : "Minnie", "type" : "mouse" }
> db.Disney.find({type:'dog',$or:[{name:'Goofy'},{name:'Pluto'}]})
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }

7.4.5 排序

例如我们直接对全体的名字进行升序排列

> db.Disney.find()
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }
{ "_id" : ObjectId("62260283f30eb8653fdcae00"), "name" : "Minnie", "type" : "mouse" }
> db.Disney.find().sort({name:1})
{ "_id" : ObjectId("6225f90e39108c22ab583665"), "name" : "Donald", "type" : "duck" }
{ "_id" : ObjectId("6225f92839108c22ab583666"), "name" : "Goofy", "type" : "dog" }
{ "_id" : ObjectId("6225f8ed39108c22ab583664"), "name" : "Mickey", "type" : "mouse" }
{ "_id" : ObjectId("6225fc3e39108c22ab58366c"), "name" : "Minnie", "type" : "mouse" }
{ "_id" : ObjectId("62260283f30eb8653fdcae00"), "name" : "Minnie", "type" : "mouse" }
{ "_id" : ObjectId("6225f93939108c22ab583667"), "name" : "Pluto", "type" : "dog" }

8.pyMongo

8.1 数据库

8.1.1 连接数据库

>>> import pymongo
>>> myclient=pymongo.MongoClient("mongodb://localhost:27017/")

8.1.2 新建数据库

>>> mydb=myclient["pydb"]

8.1.3 查看已有数据库

>>> myclient.list_database_names()
['admin', 'config', 'local', 'toy']

注意:空数据库不显示

8.2 集合

8.2.1 新建集合

>>> mycolc= mydb['col_set']

8.2.2 查看集合

>>> mydb.list_collection_names()
[]

注意:空集合不显示

8.2.3 删除集合

>>> mydb.list_collection
Collection(Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'pydb'), 'list_collection')
>>> mydb.list_collection_names()
['col_set']
>>> mycol
Collection(Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'pydb'), 'col_set')
>>> mycol.drop()
>>> mydb.list_collection_names()
[]
>>> 

8.3 文档

8.3.1 插入单个文档

>>> mydict = {'name':'Mickey','type':'mouse'}
>>> mycol = mydb['col_set']
>>> mycol.insert_one(mydict)
<pymongo.results.InsertOneResult object at 0x7fc67af72200>

8.3.2 插入多个文档

>>> mylist = [
...   { "name": "Tom", "age": "100", "url": "https://juejin.cn/user/3403743731649863" },
...   { "name": "Mary", "age": "101", "url": "https://juejin.cn/user/3403743731649863" },
...   { "name": "Timi", "age": "10", "url": "https://juejin.cn/user/3403743731649863" },
... ]
>>> x = mycol.insert_many(mylist)
>>> x.inserted_ids
[ObjectId('62260904816a6646b26646ae'), ObjectId('62260904816a6646b26646af'), ObjectId('62260904816a6646b26646b0')]
>>> 

8.3.3 查询文档

8.3.3.1 查询一条数据
>>> mycol.find_one()
{'_id': ObjectId('62260864816a6646b26646ad'), 'name': 'Mickey', 'type': 'mouse'}
>>> 

8.3.3.2 查询所有数据
>>> mycol.find()
<pymongo.cursor.Cursor object at 0x7fc67af5a490>
>>> [mycol.find()]
[<pymongo.cursor.Cursor object at 0x7fc67af5a520>]
>>> list(mycol.find())
[{'_id': ObjectId('62260864816a6646b26646ad'), 'name': 'Mickey', 'type': 'mouse'}, 
{'_id': ObjectId('62260904816a6646b26646ae'), 'name': 'Tom', 'age': '100', 'url': 'https://juejin.cn/user/3403743731649863'}, 
{'_id': ObjectId('62260904816a6646b26646af'), 'name': 'Mary', 'age': '101', 'url': 'https://juejin.cn/user/3403743731649863'}, 
{'_id': ObjectId('62260904816a6646b26646b0'), 'name': 'Timi', 'age': '10', 'url': 'https://juejin.cn/user/3403743731649863'}]
>>> [i for i in mycol.find()]
[{'_id': ObjectId('62260864816a6646b26646ad'), 'name': 'Mickey', 'type': 'mouse'}, 
{'_id': ObjectId('62260904816a6646b26646ae'), 'name': 'Tom', 'age': '100', 'url': 'https://juejin.cn/user/3403743731649863'}, 
{'_id': ObjectId('62260904816a6646b26646af'), 'name': 'Mary', 'age': '101', 'url': 'https://juejin.cn/user/3403743731649863'}, 
{'_id': ObjectId('62260904816a6646b26646b0'), 'name': 'Timi', 'age': '10', 'url': 'https://juejin.cn/user/3403743731649863'}]
>>> for i in mycol.find():      print(i)
... 
{'_id': ObjectId('62260864816a6646b26646ad'), 'name': 'Mickey', 'type': 'mouse'}
{'_id': ObjectId('62260904816a6646b26646ae'), 'name': 'Tom', 'age': '100', 'url': 'https://juejin.cn/user/3403743731649863'}
{'_id': ObjectId('62260904816a6646b26646af'), 'name': 'Mary', 'age': '101', 'url': 'https://juejin.cn/user/3403743731649863'}
{'_id': ObjectId('62260904816a6646b26646b0'), 'name': 'Timi', 'age': '10', 'url': 'https://juejin.cn/user/3403743731649863'}
>>> 

8.3.3.3 查询数据指定字段
>>> for i in mycol.find({},{ "_id": 0, "name": 1, "age": 1 }):  print(i)
... 
{'name': 'Mickey'}
{'name': 'Tom', 'age': '100'}
{'name': 'Mary', 'age': '101'}
{'name': 'Timi', 'age': '10'}
>>> 
8.3.3.4 查询条件数据
>>> for i in mycol.find({ "name": "Tom" }):     print(i)
... 
{'_id': ObjectId('62260904816a6646b26646ae'), 'name': 'Tom', 'age': '100', 'url': 'https://juejin.cn/user/3403743731649863'}
>>> 

8.3.3.5 查询指定条数记录

例如只要前三条:

>>> for i in mycol.find().limit(3):     print(i)
... 
{'_id': ObjectId('62260864816a6646b26646ad'), 'name': 'Mickey', 'type': 'mouse'}
{'_id': ObjectId('62260904816a6646b26646ae'), 'name': 'Tom', 'age': '100', 'url': 'https://juejin.cn/user/3403743731649863'}
{'_id': ObjectId('62260904816a6646b26646af'), 'name': 'Mary', 'age': '101', 'url': 'https://juejin.cn/user/3403743731649863'}
>>> 

8.3.4 修改文档

>>> for i in mycol.find():      print(i)
... 
{'_id': ObjectId('62260864816a6646b26646ad'), 'name': 'Mickey', 'type': 'mouse'}
{'_id': ObjectId('62260904816a6646b26646ae'), 'name': 'Tom', 'age': '100', 'url': 'https://juejin.cn/user/3403743731649863'}
{'_id': ObjectId('62260904816a6646b26646af'), 'name': 'Mary', 'age': '101', 'url': 'https://juejin.cn/user/3403743731649863'}
{'_id': ObjectId('62260904816a6646b26646b0'), 'name': 'Timi', 'age': '10', 'url': 'https://juejin.cn/user/3403743731649863'}
>>> myquery = { "age": "100" }
>>> newvalues = { "$set": { "age": "12345" } }
>>> mycol.update_one(myquery, newvalues)
<pymongo.results.UpdateResult object at 0x7fc67af72880>
>>> for i in mycol.find():      print(i)
... 
{'_id': ObjectId('62260864816a6646b26646ad'), 'name': 'Mickey', 'type': 'mouse'}
{'_id': ObjectId('62260904816a6646b26646ae'), 'name': 'Tom', 'age': '12345', 'url': 'https://juejin.cn/user/3403743731649863'}
{'_id': ObjectId('62260904816a6646b26646af'), 'name': 'Mary', 'age': '101', 'url': 'https://juejin.cn/user/3403743731649863'}
{'_id': ObjectId('62260904816a6646b26646b0'), 'name': 'Timi', 'age': '10', 'url': 'https://juejin.cn/user/3403743731649863'}
>>> 

8.3.5 排序数据

>>> for i in mycol.find().sort('age'):  print(i)
... 
{'_id': ObjectId('62260864816a6646b26646ad'), 'name': 'Mickey', 'type': 'mouse'}
{'_id': ObjectId('62260904816a6646b26646b0'), 'name': 'Timi', 'age': '10', 'url': 'https://juejin.cn/user/3403743731649863'}
{'_id': ObjectId('62260904816a6646b26646af'), 'name': 'Mary', 'age': '101', 'url': 'https://juejin.cn/user/3403743731649863'}
{'_id': ObjectId('62260904816a6646b26646ae'), 'name': 'Tom', 'age': '12345', 'url': 'https://juejin.cn/user/3403743731649863'}
>>> 

8.3.6 删除文档

8.3.6.1 删除单个
>>> for i in mycol.find():      print(i)
... 
{'_id': ObjectId('62260864816a6646b26646ad'), 'name': 'Mickey', 'type': 'mouse'}
{'_id': ObjectId('62260904816a6646b26646ae'), 'name': 'Tom', 'age': '12345', 'url': 'https://juejin.cn/user/3403743731649863'}
{'_id': ObjectId('62260904816a6646b26646af'), 'name': 'Mary', 'age': '101', 'url': 'https://juejin.cn/user/3403743731649863'}
{'_id': ObjectId('62260904816a6646b26646b0'), 'name': 'Timi', 'age': '10', 'url': 'https://juejin.cn/user/3403743731649863'}
>>> mycol.delete_one({ "name": "Timi" })
<pymongo.results.DeleteResult object at 0x7fc67af7bfc0>
>>> for i in mycol.find():      print(i)
... 
{'_id': ObjectId('62260864816a6646b26646ad'), 'name': 'Mickey', 'type': 'mouse'}
{'_id': ObjectId('62260904816a6646b26646ae'), 'name': 'Tom', 'age': '12345', 'url': 'https://juejin.cn/user/3403743731649863'}
{'_id': ObjectId('62260904816a6646b26646af'), 'name': 'Mary', 'age': '101', 'url': 'https://juejin.cn/user/3403743731649863'}
>>> 

8.3.6.2 删除所有
>>> for i in mycol.find():      print(i)
... 
{'_id': ObjectId('62260864816a6646b26646ad'), 'name': 'Mickey', 'type': 'mouse'}
{'_id': ObjectId('62260904816a6646b26646ae'), 'name': 'Tom', 'age': '12345', 'url': 'https://juejin.cn/user/3403743731649863'}
{'_id': ObjectId('62260904816a6646b26646af'), 'name': 'Mary', 'age': '101', 'url': 'https://juejin.cn/user/3403743731649863'}
>>> x = mycol.delete_many({})
>>> x.deleted_count
3
>>> for i in mycol.find():      print(i)
... 
>>> 


  1. MongoDB教程12-MongoDB更新文档 ↩︎

举报

相关推荐

0 条评论