Mongodb-基本操作
数据库操作
创建
- 选择和创建数据库的语法格式:
如果数据库不存在则自动创建,例如,以下语句创建 spitdb 数据库:
use spitdb
查看
- 查看当前正在使用的数据库命令
show dbs
或
show databases> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
mydb 0.000GB
- 查看有权限查看的所有的数据库命令
db> db
test
MongoDB 中默认的数据库为 test,如果你没有选择数据库,集合将存放在 test 数据库中。
注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。
另外:
数据库名可以是满足以下条件的任意UTF-8字符串。
- 不能是空字符串("")。
- 不得含有’ '(空格)、.、$、/、\和\0 (空字符)。
- 应全部小写。
- 最多64字节。
有一些数据库名是保留的,可以直接访问这些有特殊作用的数据库。
admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,该用户自动继承所有数据库的权限。
一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。
删除
- 数据库的删除
MongoDB 删除数据库的语法格式如下:
db.dropDatabase()db.dropDatabase()
{ ok: 1, dropped: 'mydb' }
集合操作
集合创建
- 集合的隐式创建
当向一个集合中插入一个文档的时候,如果集合不存在,则会自动创建集合。 - 集合的显式创建(了解)
基本语法格式:
db.createCollection(name)
name: 要创建的集合名称
集合的命名规范:
- 集合名不能是空字符串""。
- 集合名不能含有\0字符(空字符),这个字符表示集合名的结尾。
- 集合名不能以"system."开头,这是为系统集合保留的前缀。
- 用户创建的集合名字不能含有保留字符。有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字符。除非你要访问这种系统创建的集合,否则千万不要在名字里出现$。
删除集合
集合删除语法格式如下:
db.collection.drop()
或
db.集合.drop()db.comment.drop()
true
如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。
文档(document)的操作
文档(document)的数据结构和 JSON 基本一样,所有存储在集合中的数据都是 BSON 格式。
插入
- 单条文档插入
db.collection.insert(
<document or array of documents>,
{
writeConcern: <document>,
ordered: <boolean>
}
)
Parameter | Type | Description |
---|---|---|
document | document or array | 要插入到集合中的文档或文档数组。((json格式) |
writeConcern | document | Optional. A document expressing the write concern. Omit to use the default write concern.See Write Concern.Do not explicitly set the write concern for the operation if run in a transaction. To use write concern with transactions, see Transactions and Write Concern. |
ordered | boolean | 可选。如果为真,则按顺序插入数组中的文档,如果其中一个文档出现错误,MongoDB将返回而不处理数组中的其余文档。如果为假,则执行无序插入,如果其中一个文档出现错误,则继续处理数组中的主文档。在版本2.6+中默认为true |
db.comment.insert({"_id":"0","articleid":"100000","content":"今天天气真好,阳光明媚","userid":"1001","nickname":"Rose","createdatetime":new Date(),"likenum":NumberInt(10),"state":null})
{ acknowledged: true, insertedIds: { '0': '0' } }
1)comment集合如果不存在,则会隐式创建
2)mongo中的数字,默认情况下是double类型,如果要存整型,必须使用函数NumberInt(整型数字),否则取出来就有问题了。
3)插入当前日期使用 new Date()
4)插入的数据如果没有指定 _id ,会自动生成主键值
5)如果某字段没值,可以赋值为null,或不写该字段。
注意:
- 文档中的键/值对是有序的。
- 文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
- MongoDB区分类型和大小写。
- MongoDB的文档不能有重复的键。
- 文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。
文档键命名规范:
键不能含有\0 (空字符)。这个字符用来表示键的结尾。
.和$有特别的意义,只有在特定环境下才能使用。
以下划线"_"开头的键是保留的(不是严格要求的)。
- 多条文档插入
db.collection.insertMany(
[ <document 1> , <document 2>, ... ],
{
writeConcern: <document>,
ordered: <boolean>
}
)
db.comment.insertMany([{"_id":"1","articleid":"100001","content":"我们不应该把清晨浪费在手机上,健康很重要,一杯温水幸福你我他。","userid":"1002","nickname":"相忘于江湖","createdatetime":new Date("2019-08-05T22:08:15.522Z"),"likenum":NumberInt(1000),"state":"1"},{"_id":"2","articleid":"100001","content":"我夏天空腹喝凉开水,冬天喝温开水","userid":"1005","nickname":"伊人憔悴","createdatetime":new Date("2019-08-05T23:58:51.485Z"),"likenum":NumberInt(888),"state":"1"},{"_id":"3","articleid":"100001","content":"我一直喝凉开水,冬天夏天都喝。","userid":"1004","nickname":"杰克船长","createdatetime":new Date("2019-08-06T01:05:06.321Z"),"likenum":NumberInt(666),"state":"1"},{"_id":"4","articleid":"100001","content":"专家说不能空腹吃饭,影响健康。","userid":"1003","nickname":"凯撒","createdatetime":new Date("2019-08-06T08:18:35.288Z"),"likenum":NumberInt(2000),"state":"1"},{"_id":"5","articleid":"100001","content":"研究表明,刚烧开的水千万不能喝,因为烫嘴。","userid":"1003","nickname":"凯撒","createdatetime":new Date("2019-08-06T11:01:02.521Z"),"likenum":NumberInt(3000),"state":"1"}]);
{ acknowledged: true,insertedIds: { '0': '1', '1': '2', '2': '3', '3': '4', '4': '5' } }
1)插入时指定了 _id ,则主键就是该值。
2)如果某条数据插入失败,将会终止插入,但已经插入成功的数据不会回滚掉。
3)因为批量插入由于数据较多容易出现失败,因此,可以使用try catch进行异常捕捉处理,测试的时候可以不处理。
查询
查询数据的语法格式如下:
db.collection.find(<query>, [projection])
Parameter | Type | Description |
---|---|---|
query | document | 可选。使用查询运算符指定选择筛选器。若要返回集合中的所有文档,请省略此参数或传递空文档( {} ) |
projection | document | 可选。指定要在与查询筛选器匹配的文档中返回的字段(投影)。若要返回匹配文档中的所有字段,请省略此参数。 |
-
查询所有
db.comment.find() #或find({}) { _id: '0',articleid: '100000',content: '今天天气真好,阳光明媚',userid: '1001',nickname: 'Rose',createdatetime: 2022-01-21T12:57:49.081Z,likenum: 10,state: null } { _id: '1',articleid: '100001',content: '我们不应该把清晨浪费在手机上,健康很重要,一杯温水幸福你我他。',userid: '1002',nickname: '相忘于江湖',createdatetime: 2019-08-05T22:08:15.522Z,likenum: 1000,state: '1' } { _id: '2',articleid: '100001',content: '我夏天空腹喝凉开水,冬天喝温开水',userid: '1005',nickname: '伊人憔悴',createdatetime: 2019-08-05T23:58:51.485Z,likenum: 888,state: '1' } { _id: '3',articleid: '100001', ......
-
查询某些
db.comment.find({},{content:1,nikename:1}) #注意:1
{ _id: '0', content: '今天天气真好,阳光明媚' }
{ _id: '1', content: '我们不应该把清晨浪费在手机上,健康很重要,一杯温水幸福你我他。' }
{ _id: '2', content: '我夏天空腹喝凉开水,冬天喝温开水' }
{ _id: '3', content: '我一直喝凉开水,冬天夏天都喝。' }
{ _id: '4', content: '专家说不能空腹吃饭,影响健康。' }
{ _id: '5', content: '研究表明,刚烧开的水千万不能喝,因为烫嘴。' }
- 条件查询
db.comment.find({userid:'1004'},{content:1,nikename:1})
{ _id: '3', content: '我一直喝凉开水,冬天夏天都喝。' }
- 去除索引
db.comment.find({},{content:1,nikename:1,_id:0}) **#_id:0**
{ content: '今天天气真好,阳光明媚' }
{ content: '我们不应该把清晨浪费在手机上,健康很重要,一杯温水幸福你我他。' }
{ content: '我夏天空腹喝凉开水,冬天喝温开水' }
{ content: '我一直喝凉开水,冬天夏天都喝。' }
{ content: '专家说不能空腹吃饭,影响健康。' }
{ content: '研究表明,刚烧开的水千万不能喝,因为烫嘴。' }
#记录名写错,系统不会提醒报错,如上面,nickname写成了nikename
- 统计查询
db.collection.count(query, options)
db.comment.find().count()
6
db.comment.countDocuments({userid:'1003'})
2
- 分页列表查询
使用limit()方法来读取指定数量的数据,使用skip()方法来跳过指定数量的数据
db.comment.find({},{userid:1,nicknam:1,likenum:1}).limit(2)
{ _id: '0', userid: '1001', likenum: 10 }
{ _id: '1', userid: '1002', likenum: 1000 }
db.comment.find({},{userid:1,nicknam:1,likenum:1}).limit(2).skip(2)
{ _id: '2', userid: '1005', likenum: 888 }
{ _id: '3', userid: '1004', likenum: 666 }
- 排序
db.COLLECTION_NAME.find().sort({KEY:1})
或
db.集合名称.find().sort(排序方式)
> db.comment.find({},{userid:1,nickname:1}).sort({nickname:1})
{ "_id" : "0", "userid" : "1001", "nickname" : "Rose" }
{ "_id" : "2", "userid" : "1005", "nickname" : "伊人憔悴" }
{ "_id" : "4", "userid" : "1003", "nickname" : "凯撒" }
{ "_id" : "5", "userid" : "1003", "nickname" : "凯撒" }
{ "_id" : "3", "userid" : "1004", "nickname" : "杰克船长" }
{ "_id" : "1", "userid" : "1002", "nickname" : "相忘于江湖" }
复杂条件查询
- 正则表达式
MongoDB的模糊查询是通过正则表达式的方式实现的。格式为:
db.collection.find({field:/正则表达式/})
或
db.集合.find({字段:/正则表达式/})
包含:/…/
db.comment.find({content:/开水/})
{ _id: '2',articleid: '100001',content: '我夏天空腹喝凉开水,冬天喝温开水',userid: '1005',nickname: '伊人憔悴',createdatetime: 2019-08-05T23:58:51.485Z,likenum: 888,state: '1' }
{ _id: '3',articleid: '100001',content: '我一直喝凉开水,冬天夏天都喝。',userid: '1004',nickname: '杰克船长',createdatetime: 2019-08-06T01:05:06.321Z,likenum: 666,state: '1' }
^开头
db.comment.find({content:/^我/})
{ _id: '1',articleid: '100001',content: '我们不应该把清晨浪费在手机上,健康很重要,一杯温水幸福你我他。',userid: '1002',nickname: '相忘于江湖',createdatetime: 2019-08-05T22:08:15.522Z,likenum: 1000,state: '1' }
{ _id: '2',articleid: '100001',content: '我夏天空腹喝凉开水,冬天喝温开水',userid: '1005',nickname: '伊人憔悴',createdatetime: 2019-08-05T23:58:51.485Z,likenum: 888,state: '1' }
{ _id: '3',articleid: '100001',content: '我一直喝凉开水,冬天夏天都喝。',userid: '1004',nickname: '杰克船长',createdatetime: 2019-08-06T01:05:06.321Z,likenum: 666,state: '1' }db.comment.find({content:/开水/},{userid:1,nickname:1})
{ _id: '2', userid: '1005', nickname: '伊人憔悴' }
{ _id: '3', userid: '1004', nickname: '杰克船长' }
- 包含查询
包含使用$in操作符。
db.comment.find({userid:{$in:['1003','1004']}})
{ _id: '3',articleid: '100001',content: '我一直喝凉开水,冬天夏天都喝。',userid: '1004',nickname: '杰克船长',createdatetime: 2019-08-06T01:05:06.321Z,likenum: 666,state: '1' }
{ _id: '4',articleid: '100001',content: '专家说不能空腹吃饭,影响健康。',userid: '1003',nickname: '凯撒',createdatetime: 2019-08-06T08:18:35.288Z,likenum: 2000,state: '1' }
{ _id: '5',articleid: '100001',content: '研究表明,刚烧开的水千万不能喝,因为烫嘴。',userid: '1003',nickname: '凯撒',createdatetime: 2019-08-06T11:01:02.521Z,likenum: 3000,state: '1' }db.comment.find({userid:{$in:['1003','1004']}},{userid:1,nickname:1})
{ _id: '3', userid: '1004', nickname: '杰克船长' }
{ _id: '4', userid: '1003', nickname: '凯撒' }
{ _id: '5', userid: '1003', nickname: '凯撒' }
- 条件连接查询
and,and,and,or
db.comment.find({$and:[{content:/开水/},{userid:'1004'}]},{userid:1,nickname:1,content:1})
{ _id: '3',content: '我一直喝凉开水,冬天夏天都喝。',userid: '1004',nickname: '杰克船长' }
更新
语法
db.collection.update(query, update, options)
//或
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>,
collation: <document>,
arrayFilters: [ <filterdocument1>, ... ],
hint: <document|string> // Available starting in MongoDB 4.2
}
)
Parameter | Type | Description |
---|---|---|
query | document | 更新的选择条件。可以使用与find()方法中相同的查询选择器,类似sql update查询内where后面的。。在3.0版中进行了更改:当使用upsert:true执行update()时,如果查询使用点表示法在_id字段上指定条件,则MongoDB将拒绝插入新文档。 |
update | document or pipeline | 要应用的修改。该值可以是:包含更新运算符表达式的文档,或仅包含:对的替换文档,或在MongoDB 4.2中启动聚合管道。管道可以由以下阶段组成: |
upsert | boolean | 可选。如果设置为true,则在没有与查询条件匹配的文档时创建新文档。默认值为false,如果找不到匹配项,则不会插入新文档。 |
multi | boolean | 可选。如果设置为true,则更新符合查询条件的多个文档。如果设置为false,则更新一个文档。默认值为false。 |
writeConcern | document | 可选。表示写问题的文档。抛出异常的级别。 |
collation | document | 可选。指定要用于操作的校对规则。校对规则允许用户为字符串比较指定特定于语言的规则,例如字母大小写和重音标记的规则。校对规则选项具有以下语法: |
校对规则:
{区域设置:,caseLevel:,caseFirst:,强度:,numericordering:,替代:,最大变量:,向后:}
指定校对规则时,区域设置字段是必需的;所有其他校对规则字段都是可选的。有关字段的说明,请参阅校对规则文档。如果未指定校对规则,但集合具有默认校对规则(请参见db.createCollection()),则该操作将使用为集合指定的校对规则。
如果没有为集合或操作指定校对规则,MongoDB将使用本中使用的简单二进制比较进行字符串比较。不能为一个操作指定多个校对规则。例如,不能为每个字段指定不同的校对规则,或者如果使用排序执行查找,则不能将一个校对规则用于查找,另一个校对规则用于排序。3.4版新增。 |
| arrayFilters | array | 可选。一个筛选文档数组,用于确定要为数组字段上的更新操作修改哪些数组元素。 |
| hint | Document or string | 可选。指定用于支持查询谓词的索引的文档或字符串。该选项可以采用索引规范文档或索引名称字符串。如果指定的索引不存在,则说明操作错误。例如,请参阅版本4中的“为更新操作指定提示。 |
- 覆盖
Mongodb Compass 5会对此报错
db.comment.update({_id:"1"},{likenum:NumberInt(1001)})db.comment.update({_id:"1"},{likenum:NumberInt(1001)})
MongoInvalidArgumentError: Update document requires atomic operators
......
atomic operators:
$set
用来指定一个键并更新键值,若键不存在并创建。
{ $set : { field : value } }
$unset
用来删除一个键。
{ $unset : { field : 1} }
$inc
$inc可以对文档的某个值为数字型(只能为满足要求的数字)的键进行增减的操作。
{ $inc : { field : value } }
$push
{ $push : { field : value } }
把value追加到field里面去,field一定要是数组类型才行,如果field不存在,会新增一个数组类型加进去。
…
换到shell环境:
> db.comment.update({likenum:888},{userid:'1009'})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.comment.find()
{ "_id" : "1", "articleid" : "100001", "content" : "我们不应该把清晨浪费在手机上,健康很重要,一杯温水幸福你我他。", "userid" : "1002", "nickname" : "相忘于江湖", "createdatetime" : ISODate("2019-08-05T22:08:15.522Z"), "likenum" : 1000, "state" : "1" }
{ "_id" : "2", "userid" : "1009" }
{ "_id" : "3", "articleid" : "100001", "content" :
......
执行成功,但是,document中只有update的userid,其他都没有了,这是一种覆盖模式。
- $set局部修改
db.comment.update({userid:'1003'},{$set:{likenum:999}})
{ acknowledged: true,insertedId: null,matchedCount: 1,modifiedCount: 1,upsertedCount: 0 }
db.comment.find({},{userid:1,likenum:1})
{ _id: '0', userid: '1001', likenum: 10 }
{ _id: '1', userid: '1002', likenum: 1000 }
{ _id: '2', userid: '1100', likenum: 888 }
{ _id: '3', userid: '1004', likenum: 666 }
{ _id: '4', userid: '1003', likenum: 999 }
{ _id: '5', userid: '1003', likenum: 3000 }
上面的例子userid:1003有两条,如果都要改,加上multi:true
db.comment.update({userid:'1003'},{$set:{likenum:777}},{multi:true})
{ acknowledged: true,insertedId: null,matchedCount: 2,modifiedCount: 2,upsertedCount: 0 }
db.comment.find({},{userid:1,likenum:1})
{ _id: '0', userid: '1001', likenum: 10 }
{ _id: '1', userid: '1002', likenum: 1000 }
{ _id: '2', userid: '1100', likenum: 888 }
{ _id: '3', userid: '1004', likenum: 666 }
{ _id: '4', userid: '1003', likenum: 777 }
{ _id: '5', userid: '1003', likenum: 777 }
- 对某个值自增
db.comment.update({userid:'1001'},{$inc:{likenum:1}})
{ acknowledged: true,insertedId: null,matchedCount: 1,modifiedCount: 1,upsertedCount: 0 }
db.comment.find({},{userid:1,likenum:1})
{ _id: '0', userid: '1001', likenum: 11 }
{ _id: '1', userid: '1002', likenum: 1000 }
{ _id: '2', userid: '1100', likenum: 888 }
{ _id: '3', userid: '1004', likenum: 666 }
{ _id: '4', userid: '1003', likenum: 777 }
{ _id: '5', userid: '1003', likenum: 777 }
删除
db.集合名称.remove(条件)
db.comment.remove({_id:'4'})
'DeprecationWarning: Collection.remove() is deprecated. Use deleteOne, deleteMany, findOneAndDelete, or bulkWrite.'
{ acknowledged: true, deletedCount: 1 }
db.comment.find({},{userid:1,likenum:1})
{ _id: '0', userid: '1001', likenum: 11 }
{ _id: '1', userid: '1002', likenum: 1000 }
{ _id: '2', userid: '1100', likenum: 888 }
{ _id: '3', userid: '1004', likenum: 666 }
{ _id: '5', userid: '1003', likenum: 777 }
提示即将弃用,尝试新的命令
db.comment.findOneAndDelete({_id:'0'})
{ _id: '0',articleid: '100000',content: '今天天气真好,阳光明媚',userid: '1001',nickname: 'Rose',createdatetime: 2022-01-21T12:57:49.081Z,likenum: 11,state: null }
db.comment.find({},{userid:1,likenum:1})
{ _id: '1', userid: '1002', likenum: 1000 }
{ _id: '2', userid: '1100', likenum: 888 }
{ _id: '3', userid: '1004', likenum: 666 }
{ _id: '5', userid: '1003', likenum: 777 }
如果查询存在适当的索引,MongoDB可以使用该索引限制必须检查的文档数。
索引是特殊的数据结构,它以易于遍历的形式存储集合数据集的一小部分。索引存储特定字段或一组字段的值,按字段值排序。索引项的排
序支持有效的相等匹配和基于范围的查询操作。此外,MongoDB还可以使用索引中的排序返回排序结果。
官网文档:
Indexes
MongoDB索引使用B树数据结构(确切的说是B-Tree,MySQL是B+Tree)
索引的类型
- 单字段索引
MongoDB支持在文档的单个字段上创建用户定义的升序/降序索引,称为单字段索引(Single Field Index)。 - 复合索引
MongoDB还支持多个字段的用户定义索引,即复合索引(Compound Index)。 - 其他索引
地理空间索引(Geospatial Index)、文本索引(Text Indexes)、哈希索引(Hashed Indexes)。
索引
索引的管理操作
- 索引的查看
db.collection.getIndexes()
db.comment.getIndexes()#默认索引
[ { v: 2, key: { _id: 1 }, name: '_id_' } ]
v-version
- 在集合上创建索引
(1)单字段索引
db.collection.createIndex(keys, options)
db.comment.createIndex({userid:1})
'userid_1'
db.comment.getIndexes()
[{ v: 2, key: { _id: 1 }, name: '_id_' },{ v: 2, key: { userid: 1 }, name: 'userid_1' }
]
创建了userid的索引
keys :document
包含字段和值对的文档,其中字段是索引键,值描述该字段的索引类型。
对于字段上的升序索引,请指定值1;对于降序索引,请指定值-1。比如: {字段:1或-1} ,其中1 为指定按升序创建索引,如想按降序来创建索引指定为 -1 即可。
另外,MongoDB支持几种不同的索引类型,包括文本、地理空间和哈希索引。
options列表:
Parameter | Type | Description |
---|---|---|
background | Boolean | 建索引过程会阻塞其它数据库操作,background可指定以后台方式创建索引,即增加"background" 可选参数。 “background” 默认值为false。 |
unique | Boolean | 建立的索引是否唯一。指定为true创建唯一索引。默认值为false. |
name | string | 索引的名称。如果未指定,MongoDB的通过连接索引的字段名和排序顺序生成一个索引名称。 |
sparse | Boolean | 对文档中不存在的字段数据不启用索引;这个参数需要特别注意,如果设置为true的话,在索引字段中不会查询出不包含对应字段的文档.。默认值为 false. |
expireAfterSeconds | integer | 指定一个以秒为单位的数值,完成 TTL设定,设定集合的生存时间。 |
v | index version | 索引的版本号。默认的索引版本取决于mongod创建索引时运行的版本。 |
weights | document | 索引权重值,数值在 1 到 99,999 之间,表示该索引相对于其他索引字段的得分权重。 |
default_language | string | 对于文本索引,该参数决定了停用词及词干和词器的规则的列表。 默认为英语 |
language_override | string | 对于文本索引,该参数指定了包含在文档中的字段名,语言覆盖默认的language,默认值为language. |
(2)复合索引:对 userid 和 nickname 同时建立复合(Compound)索引:
db.comment.createIndex({nickname:1,userid:-1})
'nickname_1_userid_-1'
db.comment.getIndexes()
[{ v: 2, key: { _id: 1 }, name: '_id_' },{ v: 2, key: { userid: 1 }, name: 'userid_1' },{v: 2,key: { nickname: 1, userid: -1 },name: 'nickname_1_userid_-1'}
]
- 删除索引
(1)删除某个索引
db.comment.dropIndex({userid:1}) #按字段删除
{ nIndexesWas: 3, ok: 1 }db.comment.getIndexes()
[{ v: 2, key: { _id: 1 }, name: '_id_' },{v: 2,key: { nickname: 1, userid: -1 },name: 'nickname_1_userid_-1'}
]db.comment.dropIndex('nickname_1_userid_-1')#按名字删除,不使用{}
{ nIndexesWas: 2, ok: 1 }
(2)删除全部用户索引
db.comment.dropIndexes()
{nIndexesWas: 3,msg: 'non-_id indexes dropped for collection',ok: 1
}
db.comment.getIndexes()
[ { v: 2, key: { _id: 1 }, name: '_id_' } ]#系统索引不会被删除
索引的使用
- 执行计划
分析查询性能(Analyze Query Performance)通常使用执行计划(解释计划、Explain Plan)来查看查询的情况,如查询耗费的时间、是否基于索引查询等。
语法:
db.collection.find(query,options).explain(options)
示例:
db.comment.find({userid:'1003'}).explain()
{ explainVersion: '1',queryPlanner: { namespace: 'etaondb.comment',indexFilterSet: false,parsedQuery: { userid: { '$eq': '1003' } },maxIndexedOrSolutionsReached: false,maxIndexedAndSolutionsReached: false,maxScansToExplodeReached: false,winningPlan: { stage: 'COLLSCAN',filter: { userid: { '$eq': '1003' } },direction: 'forward' },rejectedPlans: [] },command: { find: 'comment', filter: { userid: '1003' }, '$db': 'etaondb' },serverInfo: { host: 'Alma',port: 27017,version: '5.0.5',gitVersion: 'd65fd89df3fc039b5c55933c0f71d647a54510ae' },serverParameters: { internalQueryFacetBufferSizeBytes: 104857600,internalQueryFacetMaxOutputDocSizeBytes: 104857600,internalLookupStageIntermediateDocumentMaxSizeBytes: 104857600,internalDocumentSourceGroupMaxMemoryBytes: 104857600,internalQueryMaxBlockingSortMemoryUsageBytes: 104857600,internalQueryProhibitBlockingMergeOnMongoS: 0,internalQueryMaxAddToSetBytes: 104857600,internalDocumentSourceSetWindowFieldsMaxMemoryBytes: 104857600 },ok: 1 }
增加userid的index后:
db.comment.createIndex({userid:1})
'userid_1'
db.comment.find({userid:'1003'}).explain()
{ explainVersion: '1',queryPlanner: { namespace: 'etaondb.comment',indexFilterSet: false,parsedQuery: { userid: { '$eq': '1003' } },maxIndexedOrSolutionsReached: false,maxIndexedAndSolutionsReached: false,maxScansToExplodeReached: false,winningPlan: { stage: 'FETCH',inputStage: { stage: 'IXSCAN',keyPattern: { userid: 1 },indexName: 'userid_1',isMultiKey: false,multiKeyPaths: { userid: [] },isUnique: false,isSparse: false,isPartial: false,indexVersion: 2,direction: 'forward',indexBounds: { userid: [ '["1003", "1003"]' ] } } },rejectedPlans: [] },command: { find: 'comment', filter: { userid: '1003' }, '$db': 'etaondb' },serverInfo: { host: 'Alma',port: 27017,version: '5.0.5',gitVersion: 'd65fd89df3fc039b5c55933c0f71d647a54510ae' },serverParameters: { internalQueryFacetBufferSizeBytes: 104857600,internalQueryFacetMaxOutputDocSizeBytes: 104857600,internalLookupStageIntermediateDocumentMaxSizeBytes: 104857600,internalDocumentSourceGroupMaxMemoryBytes: 104857600,internalQueryMaxBlockingSortMemoryUsageBytes: 104857600,internalQueryProhibitBlockingMergeOnMongoS: 0,internalQueryMaxAddToSetBytes: 104857600,internalDocumentSourceSetWindowFieldsMaxMemoryBytes: 104857600 },ok: 1 }
上面的例子可以看到查询方式的变化:
winningPlan:
{ stage: ‘COLLSCAN’,
filter: { userid: { ‘$eq’: ‘1003’ } },
变成:
winningPlan:
{ stage: ‘FETCH’,
inputStage:
{ stage: ‘IXSCAN’,
keyPattern: { userid: 1 },
indexName: ‘userid_1’,
COLLSCAN表示全集扫描
FETCH抓取
IXSCAN扫描Index
从compass看:
Documents Examined:6
检查了6次,即所有6条docments
而使用了index:userid后
检查次数变成了2,效率提高了;使用的方式和命令行的情况一致
- 涵盖的查询
Covered Queries
当查询条件和查询的投影仅包含索引字段时,MongoDB直接从索引返回结果,而不扫描任何文档或将文档带入内存。 这些覆盖的查询可以非常有效。
上面的例子进行查询
不查看_id,显示documents检查为0
> db.comment.find({userid:1,_id:0}).explain()
{"explainVersion" : "1","queryPlanner" : {"namespace" : "etaondb.comment","indexFilterSet" : false,"parsedQuery" : {"$and" : [{"_id" : {"$eq" : 0}},{"userid" : {"$eq" : 1}}]},"queryHash" : "B3109953","planCacheKey" : "349BB72E","maxIndexedOrSolutionsReached" : false,"maxIndexedAndSolutionsReached" : false,"maxScansToExplodeReached" : false,"winningPlan" : {"stage" : "FETCH","filter" : {"userid" : {"$eq" : 1}},"inputStage" : {"stage" : "IXSCAN","keyPattern" : {"_id" : 1},"indexName" : "_id_","isMultiKey" : false,"multiKeyPaths" : {"_id" : [ ]},"isUnique" : true,"isSparse" : false,"isPartial" : false,"indexVersion" : 2,"direction" : "forward","indexBounds" : {"_id" : ["[0.0, 0.0]"]}}},"rejectedPlans" : [ ]},"command" : {"find" : "comment","filter" : {"userid" : 1,"_id" : 0},"$db" : "etaondb"},"serverInfo" : {"host" : "Alma","port" : 27017,"version" : "5.0.5","gitVersion" : "d65fd89df3fc039b5c55933c0f71d647a54510ae"},"serverParameters" : {"internalQueryFacetBufferSizeBytes" : 104857600,"internalQueryFacetMaxOutputDocSizeBytes" : 104857600,"internalLookupStageIntermediateDocumentMaxSizeBytes" : 104857600,"internalDocumentSourceGroupMaxMemoryBytes" : 104857600,"internalQueryMaxBlockingSortMemoryUsageBytes" : 104857600,"internalQueryProhibitBlockingMergeOnMongoS" : 0,"internalQueryMaxAddToSetBytes" : 104857600,"internalDocumentSourceSetWindowFieldsMaxMemoryBytes" : 104857600},"ok" : 1
}
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- hadoop启动时各个节点上的进程
...
2024/4/13 16:42:33 - CTF_cryptology_密码/解密
奶奶曾说过,教会他人,是验证自己学习的最好方式。 在关注ctf的解密题之前,我们要先来了解了解密码学。 俗话说,知道你的家底,就不怕你变花样。 密码学:主要是研究编制密码 和 破译密码的学科 密码学的只要…...
2024/4/13 16:42:02 - JAVA学习笔记(九)-评委打分
import java.util.Scanner;/**需求:在唱歌比赛中,有6名评委给选手打分,分数范围是[0 - 100]之间的整数。选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分。*/ public class…...
2024/4/13 16:41:57 - 2022.02.04 - 229.可以形成最大正方形的矩形数目
文章目录1. 题目2. 思路(1) 模拟法3. 代码1. 题目 2. 思路 (1) 模拟法 每个矩形的较短边即为正方形的边长,统计最大正方形的个数即可。 3. 代码 public class Test {public static void main(String[] args) {} }class Solution {public int countGoodRectangle…...
2024/4/13 16:42:07 - JavaSE之时间复杂度与空间复杂度总结
目录 一、算法效率 二、时间复杂度 1.概念 2.大O的渐进表示法 3.一些常见的例子 三、空间复杂度 1.概念 2.一些常见的例子 一、算法效率 算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效…...
2024/4/16 13:22:06 - 高频leetcode动态规划部分:64. 最小路径和
64. 最小路径和 难度中等1129 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例 1: 输入:grid [[1,3,1],[1,5…...
2024/4/24 13:14:40 - 六.OpenCv之形态学
6. 形态学 6.1 形态学概述 什么是形态学 指一系列处理图像形状特征的图像处理技术形态学的基本思想是利用一种特殊的结构元(本质上就是卷积核)来测量或提取输入图像中相应的形状或特征,以便进一步进行图像分析和目标识别。这些处理方法基本是对二进制图像进行处理…...
2024/4/13 16:41:47 - python的set简单了解
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。 1.创建一个set,需要提供一个list作为输入集合: sset([1,2,3,3]) print(s) 结果:…...
2024/4/7 20:38:11 - 《计算机组成与设计:硬件软件接口》第二章 ~2.16~2.20 学习笔记
2.16实例:IA-32指令 指令集的设计者有时提供了比能在MIPS中找到的功能更强的操作。它的目标是能从总体上减少一个程序执行的指令数目。而其风险在于:由于破坏了硬件的简洁性,导致程序执行的时间的增加,因为指令执行可能缓慢。缓慢…...
2024/4/13 16:41:57 - JAVA学习笔记(十)-元素的复制
/**需求:把一个数组中的元素复制到另一个新数组中去。*/ public class Test4 {public static void main(String[] args) {int[] arr1 {11, 22, 33, 44};// int[] arr2 arr1; // 没有完成了数组复制。int[] arr2 new int[arr1.length];copy(arr1 , arr2);printArr…...
2024/4/18 17:04:17 - Java基础学习(四)
Java基础学习(四)1 枚举类1.1自定义枚举类1.2 enum关键字1.3 Enum类中的各种方法2 Annotation(注解)2.1 Override2.2 Deprecated2.3 SuppressWarnings2.4元注解2.4.1 Retention2.4.2 Target2.4.3 Documented2.4.4 Inherited1 枚举类 1.1自定义枚举类 构…...
2024/4/19 8:32:35 - 【蓝桥杯单片机学习记录10】555定时器与频率测量
测量NE555产生方波频率时,用跳帽将J13中的NAL与P34短接,NE555发生的信号输入到单片机的P34引脚,即单片机的T0引脚,该信号的频率大小可以通过Rb3可调电位器改变 代码: #include "reg52.h" #include "ab…...
2024/4/16 22:16:35 - STC89C52单片机单线通信(DS18B20温度)
目录 DS18B20介绍 DS18B20温度传感器结构图: DS18B20温度传感器操作配置: 单总线介绍 单总线规范 单总线时序结构 初始化: 发送一位:(主机到从机) 接收一位:(从机到主机&a…...
2024/4/20 8:13:19 - 《华为机试》刷题之HJ5 进制转换
一、题目 写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。 数据范围:保证结果在 1≤n≤231−11\le n\le 2^{31}-11≤n≤231−1 注意本题有多组输入 输入描述: 输入一个十六进制的数值字符串。注意:一个…...
2024/4/20 4:38:46 - WebSocket - Netty服务端构建
文章目录WebSocket - Netty服务端构建一、WebSocket二、基于Netty构建WebSocket服务端2.1 入门案例2.2 WebSocket相关的Netty内置处理类万事如意,阖家安康WebSocket - Netty服务端构建 文章目录在线websocket测试-online tool-postjson (coolaf.com)WebSocket协议深…...
2024/4/13 16:42:43 - JAVA学习笔记(七)-机票的计算
import java.util.Scanner;/**需求:机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月…...
2024/4/13 16:42:53 - Leetcode面T10(1-9)数组,你了解过移动端适配吗
// } // } // return -1; // } //二分搜索法 public int findString(String[] words, String s) { //直接二分搜索 int left 0; int right words.length - 1; //[left.right) while(left < right){ while(left < words.length && words[left].equal…...
2024/4/13 16:42:48 - 《华为机试》刷题之HJ17 坐标移动
一、题目 开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里…...
2024/4/26 13:41:35 - JAVA学习Day02常用Dos命令
打开CMD方式 1.开始系统命令提示符 2.Win键R 输入cmd打开控制台 3.在任意文件夹下,按住shift鼠标右键单击,在此处打开命令窗口 4.资源管理器的地址栏前面加上cmd路径 管理员方式运行 开始系统命令提示符右键更多 常用Dos命令 #盘符切换 #查看当前目…...
2024/4/20 8:19:08 - P1554 梦中的统计(python3实现)
梦中的统计 - 洛谷 """P1554 梦中的统计(python3实现) https://www.luogu.com.cn/problem/P1554"""a[0]*1010n,mmap( int,input().split() )for i in range(n,m1):jiwhile j>0:a[j%10]1j//10for i in range(10):print…...
2024/4/19 9:49:09
最新文章
- 上市公司专利数据、专利申请、专利授权和质量指标计算面板数据(1990-2022年)
01、数据简介 专利作为企业创新能力和核心竞争力的体现,越来越受到上市公司的重视。了解上市公司的专利数据、专利申请、专利授权和质量指标计算,有助于投资者更好地评估公司的创新能力和长期发展潜力。 通过分析上市公司的专利数据、专利申请、专利授…...
2024/4/27 22:10:58 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - Ubuntu磁盘扩容
使用 df -h命令查看系统磁盘控件的使用情况: [samspobosrv:~]$ df -h Filesystem Size Used Avail Use% Mounted on udev 7.8G 0 7.8G 0% /dev tmpfs 1.6G 1.7M 1.…...
2024/4/25 7:31:32 - 探索进程控制第一弹(进程终止、进程等待)
文章目录 进程创建初识fork函数fork函数返回值fork常规用法fork调用失败的原因 写时拷贝进程终止进程终止是在做什么?进程终止的情况代码跑完,结果正确/不正确代码异常终止 如何终止 进程等待概述进程等待方法wait方法waitpid 进程创建 初识fork函数 在…...
2024/4/22 16:14:13 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/26 18:09:39 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/26 20:12:18 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/27 4:00:35 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/26 21:56:58 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/27 9:01:45 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/25 18:39:16 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/26 22:01:59 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/25 2:10:52 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/25 18:39:00 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57