您当前的位置:首页 >> 智能家居
智能家居

建议收藏!Linux运维必不可少之nginx、mysql、es、mongodb实用笔记

发布时间:2025-10-30

icsearch{ vim /etc/sysctl.conf vm.max_map_count = 262144 vim /etc/security/limits.conf * soft memlock unlimited * hard memlock unlimited sysctl -p curl 'localhost:9200/_cat/health?v' # 健康检查 curl 'localhost:9200/_cat/nodes?v' # 借助一个大的路由器本备注 curl 'localhost:9200/_cat/indices?v' # 列出所有资料坎 curl 127.0.0.1:9200/indexname -XDELETE # 移除资料坎 curl -XGET _cat/shards # 拍照分片 curl '127.0.0.1:9200/_cat/indices' # 查分片联动 unassigned_shards # 没有联动顺利进行 } mysql常用下达{ # mysql 可视化来进行 MySQL Workbench mysqlcheck -uroot -p -S mysql.sock 便是optimize 便是databases account # 检查、重建、冗余MyISAM备注 mysqlbinlog slave-relay-bin.000001 # 拍照二进制快照 mysqladmin -h myhost -u root -p create dbname # 成立资料坎 flush privileges; # 刷新 show databases; # 结果显示所有资料坎 use dbname; # 推开资料坎 show tables; # 结果显示选入所资料坎中所所有的备注 desc tables; # 拍照备注形态 drop database name; # 移除资料坎 drop table name; # 移除备注 create database name; # 成立资料坎 select column from table; # 核对 show processlist; # 拍照mysql的网络 show full processlist; # 结果显示的网络均的语句 select user(); # 拍照所有服务器端 show slave statusG; # 拍照收纳从静止状态 show variables; # 拍照所有函数函数 show status; # 列车运行静止状态 show table status # 拍照备注的动力子系统静止状态 show grants for user@'%' # 拍照服务器端职责 drop table if exists user # 备注存在就移除 create table if not exists user # 备注不存在就成立 select host,user,password from user; # 核对服务器端职责 先为use mysql create table ka(ka_id varchar(6),qianshu int); # 成立备注 show variables like 'character_set_%'; # 拍照子系统的通用和排由此可知方式的设定 show variables like '%timeout%'; # 拍照超时子系统性函数 delete from user where user=''; # 移除空服务器端 delete from user where user='sss' and host='localhost' ; # 移除服务器端 drop user 'sss'@'localhost'; # 用于此法则移除服务器端更为靠谱 ALTER TABLE mytable ENGINE = MyISAM ; # 改变现有的备注用于的存储动力子系统 SHOW TABLE STATUS from dbname where Name='tablename'; # 核对备注动力子系统 mysql -uroot -p -A -ss -h10.10.10.5 -e "show databases;" # shell中所借助数据集不带备注格 -ss函数 CREATE TABLE innodb (id int, title char(20)) ENGINE = INNODB # 成立备注自行暂时存储动力子系统的并不一定(MyISAM或INNODB) grant replication slave on *.* to 'user'@'%' identified by 'pwd'; # 成立收纳从复制服务器端 ALTER TABLE player ADD INDEX weekcredit_faction_index (weekcredit, faction); # 添沙资料坎 alter table name add column accountid(column) int(11) NOT NULL(column); # 插入数组 update host set monitor_state='Y',hostname='xuesong' where ip='192.168.1.1'; # 预览数据集 select * from information_schema.processlist where command!='sleep'; # 拍照这两项的网络 select * from atable where name='on' AND t<15 AND host LIKE '10%' limit 1,10; # 多当年提核对 show create database ops_deploy; # 拍照资料坎编码 show create table updatelog; # 拍照资料坎备注编码 alter database ops_deploy CHARACTER SET utf8; # 修改资料坎编码 alter table 在在updatelog在在 default character set utf8; # 修改备注编码 alter table 在在updatelog在在 convert to character set utf8; # 修改一张备注的所有数组的编码播放器 自增备注{ create table xuesong (id integer PRIMARY KEY AUTO_INCREMENT, name CHAR(30) NOT NULL, age integer , sex CHAR(15) ); # 成立自增备注 insert into xuesong(name,age,sex) values(%s,%s,%s) # 自增插入数据集 } 录入mysql的下达{ # 播放器: mysql -h 收纳机地址 -u 服务器端名 -p 服务器端加密 mysql -h110.110.110.110 -P3306 -uroot -p mysql -uroot -p -S /data1/mysql5/data/mysql.sock -A 便是default-character-set=GBK } shell分派mysql下达{ mysql -u root -p'123' xuesong < file.sql # 针对自行暂时坎分派sql副本中所的语句,好处不无必需转义特殊符号,一条语句可以换行.不自行暂时坎分派时语句中所无必需先为use mysql -u$username -p$passwd -h$dbhost -P$dbport -A -e " use $dbname; delete from data where date=('$date1'); " # 分派多条mysql下达 mysql -uroot -p -S mysql.sock -e "use db;alter table gift add column accountid int(11) NOT NULL;flush privileges;" 2>&1 |grep -v Warning # 不登陆mysql插入数组 } mysql通用子系统性{ show variables like '%character%'; # 拍照资料坎中所设立通用的函数 # character_set_client、character_set_connection 以及 character_set_results 这几个函数都是客户端的设立 # character_set_system、character_set_server 以及 character_set_database 是所称服务器端端的设立。 # 而对于这三个服务器端端的函数来说的优先为级是: # 列级通用> 备注级通用> character_set_database> character_set_server> character_set_system show global variables like '%char%'; #拍照RDS实例通用子系统性函数设立 show global variables like 'coll%'; #拍照这两项会话Unicode由此可知子系统性函数设立 show character set; #拍照实例全力支持的通用 show collation; #拍照实例全力支持的Unicode由此可知 show create table table_name G #拍照备注通用设立 show create database database_name G #拍照资料坎通用设立 show create procedure procedure_name G #拍照存储反复通用设立 show procedure status G #拍照存储反复通用设立 alter database db_name default charset utf8; #修改资料坎的通用 create database db_name character set utf8; #成立资料坎时自行暂时通用 alter table tab_name default charset utf8 collate utf8_general_ci; #修改备注通用和Unicode由此可知 # 下面三条sql 分别将坎 dbsdq , 备注 tt2 , 备注 tt2 中所的 c2 列修改为utf8mb4 通用 alter database dbsdq character set utf8mb4 collate utf8mb4_unicode_ci; use dbsdq; alter table tt2 character set utf8mb4 collate utf8mb4_unicode_ci; alter table tt2 modify c2 varchar(10) character set utf8mb4; # 修改列时,这两项列中所的所有行都能即刻产物为新的通用; # alter table 会对备注沙元数据集针 } 存档资料坎{ mysqldump -h host -u root -p 便是default-character-set=utf8 dbname>dbname_backup.sql # 不除此以外坎名,转换成必需先为成立坎,在use mysqldump -h host -u root -p 便是database 便是default-character-set=utf8 dbname>dbname_backup.sql # 除此以外坎名,转换成不无必需成立坎 /bin/mysqlhotcopy -u root -p # mysqlhotcopy只能存档MyISAM动力子系统 mysqldump -u root -p -S mysql.sock 便是default-character-set=utf8 dbname table1 table2> /data/db.sql # 存档备注 mysqldump -uroot -p123 -d database> database.sql # 存档资料坎形态 # 最小职责存档 grant select on db_name.* to dbbackup@"localhost" Identified by "passwd"; # 便是single-transaction InnoDB有时长碰 只存档开始那一刻的数据集,存档反复中所的数据集不会存档 mysqldump -hlocalhost -P 3306 -u dbbackup 便是single-transaction -p"passwd" 便是database dbname>dbname.sql # xtrabackup存档必需单独装上应用软件 特点: 更快,压力小,可并不必需要维持收纳从复制 innobackupex 便是user=root 便是password="" 便是defaults-file=/data/mysql5/data/my_3306.cnf 便是socket=/data/mysql5/data/mysql.sock 便是slave-info 便是stream=tar 便是tmpdir=/data/dbbackup/temp /data/dbbackup/ 2>/data/dbbackup/dbbackup.log | gzip 1>/data/dbbackup/db50.tar.gz } 转换成资料坎{ mysql -h host -u root -p dbname < dbname_backup.sql source 路径.sql # 登陆mysql后转换成sql副本 } 赋职责{ # 自行暂时IP: $IP 本机: localhost 所有IP地址: % # 通常自行暂时多条 grant all on zabbix.* to user@"$IP"; # 对现有账号赋予职责 grant select on database.* to user@"%" Identified by "passwd"; # 赋予核对职责(不能服务器端,并不必需要成立) grant all privileges on database.* to user@"$IP" identified by 'passwd'; # 赋予自行暂时IP自行暂时服务器端所有职责(不允许对这两项坎给其他服务器端赋职责) grant all privileges on database.* to user@"localhost" identified by 'passwd' with grant option; # 赋予本机自行暂时服务器端所有职责(允许对这两项坎给其他服务器端赋职责) grant select, insert, update, delete on database.* to user@'ip'identified by "passwd"; # 开放政府机构装配所称令 revoke all on *.* from user@localhost; # 回收职责 GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, EXECUTE, CREATE ROUTINE, ALTER ROUTINE ON 在在storemisc_dev在在.* TO 'user'@'192.168.%' } 更改加密{ update user set password=password('passwd') where user='root' mysqladmin -u root password 'xuesong' } mysql忘记加密后重置{ cd /data/mysql5 /data/mysql5/bin/mysqld_safe 便是user=mysql 便是skip-grant-tables 便是skip-networking & use mysql; update user set password=password('123123') where user='root'; } mysql收纳从复制失败维持{ slave stop; reset slave; change master to master_host='10.10.10.110',master_port=3306,master_user='repl',master_password='repl',master_log_file='master-bin.000010',master_log_pos=107,master_connect_retry=60; slave start; } sql语句用于函数{ use xuesong; set @a=concat('my',weekday(curdate())); # 组合时长函数 set @sql := concat('CREATE TABLE IF NOT EXISTS ',@a,'( id INT(11) NOT NULL )'); # 组合sql语句 select @sql; # 拍照语句 prepare create_tb from @sql; # 准备 execute create_tb; # 分派 } 检测mysql收纳从复制延迟{ 1、在从坎定时分派预览收纳坎中所的一个timeout数绝对值 2、同时取出从坎中所的timeout绝对值对比判断从坎与收纳坎的延迟 } 死针{ show OPEN TABLES where In_use> 0; # 拍照这两项针讯息 show variables like 'innodb_print_all_deadlocks'; # 拍照这两项死针函数 set global innodb_print_all_deadlocks = 1; # 设立死针讯息保存到错误快照 innodb_print_all_deadlocks = 1 # conf装配 } mysql快核对{ select * from information_schema.processlist where command in ('Query') and time>5G # 核对装配大于5S的的网络 掀开快核对快照{ # 装配副本 /etc/my.conf [mysqld] log-slow-queries=/var/lib/mysql/slowquery.log # 自行暂时快照副本存放位置,可以为空,子系统会给一个缺省的副本host_name-slow.log long_query_time=5 # 据信超过的时长,选项为10s 同意0.5S log-queries-not-using-indexes # log下来不能用于资料坎的query,可以根据原因暂时是不是掀开 若无沙 log-long-format # 如果设立了,所有不能用于资料坎的核对也将被据信 若无沙 # 并不必需要修改废止 show variables like "%slow%"; # 拍照快核对静止状态 set global slow_query_log='ON'; # 掀开快核对快照 函数可能不同,看上句核对出来的函数 } mysqldumpslow快核对快照拍照{ -s # 是order的顺由此可知,除此以外看了代码,收纳要有 c,t,l,r和ac,at,al,ar,分别是按照query短时间,时长,lock的时长和留在的据信数来排由此可知,当年面沙了a的时倒由此可知 -t # 是top n的意思,即为留在当年面多少条的数据集 -g # 后边可以寄给一个可定义匹配种子系统,不等寄给不敏感的 mysqldumpslow -s c -t 20 host-slow.log # 访问短时间总共的20个sql语句 mysqldumpslow -s r -t 20 host-slow.log # 留在据信集总共的20个sql mysqldumpslow -t 10 -s t -g "left join" host-slow.log # 按照时长留在当年10条里面含有左相连的sql语句 show global status like '%slow%'; # 拍照现在这个session有多少个快核对 show variables like '%slow%'; # 拍照快核对快照是不是掀开,如果slow_query_log和log_slow_queries结果显示为on,说明服务器端的快核对快照已经掀开 show variables like '%long%'; # 拍照超时阀绝对值 desc select * from wei where text='xishizhaohua'G; # 扫描前奏备注 tepe:ALL 不能用于资料坎 key:NULL create index text_index on wei(text); # 成立资料坎 } Percona Toolkit 快快照分析来进行 } mysql装配短时间核对{ select * from information_schema.global_status; com_select com_delete com_insert com_update } } mongodb{ # mongo可视政府机构来进行 studio 3t 一、顺利完成{ # 不顺利完成评鉴 ./mongod 便是port 27017 便是fork 便是logpath=/opt/mongodb/mongodb.log 便是logappend 便是dbpath=/opt/mongodb/data/ # 顺利完成评鉴 ./mongod 便是port 27017 便是fork 便是logpath=/opt/mongodb/mongodb.log 便是logappend 便是dbpath=/opt/mongodb/data/ 便是auth # 装配副本方式顺利完成 cat /opt/mongodb/mongodb.conf port=27017 # 端口号 fork=true # 以守护的网络的方式列车运行,成立服务器端的网络 auth=true # 掀开服务器端评鉴 logappend=true # 快照使用追沙方式 logpath=/opt/mongodb/mongodb.log # 快照可用副本路径 dbpath=/opt/mongodb/data/ # 资料坎路径 shardsvr=true # 设立是不是分片 maxConns=600 # 资料坎的最大相连数 ./mongod -f /opt/mongodb/mongodb.conf # 其他函数 bind_ip # 绑定IP 用于mongo录入无必需自行暂时近似于IP journal # 掀开快照功能,降低单机超载的维持时长,取代dur函数 syncdelay # 子系统联动刷新磁盘的时长,选项60秒 directoryperdb # 每个db单独存放目录,同意设立.与mysql独立备注维度类似 repairpath # 分派repair时的临时目录.如果没有掀开journal,出现异常重启,不能分派repair装配 # mongodb不能函数设立缓存不等.用于os mmap程由此可知缓存数据集副本,在数据集值不超过缓存的原因下,效率十分高.数据集值超过子系统可用缓存会影响存储效率 } 二、停用{ # 法则一:录入mongodb ./mongo use admin db.shutdownServer() # 法则:kill传递信号 两种皆可 kill -2 pid kill -15 pid } 三、掀开评鉴与服务器端政府机构{ ./mongo # 先为录入 use admin # 中学毕业取到admin坎 db.addUser("root","123456") # 成立服务器端 db.addUser('zhansan','pass',true) # 如果服务器端的readOnly为true那么这个服务器端只能中学毕业取数据集,添沙一个readOnly服务器端zhansan ./mongo 127.0.0.1:27017/mydb -uroot -p123456 # 再次录入,只能针对服务器端所在坎录入 #虽然是超级政府机构员,但是admin不能并不必需要录入其他资料坎,否则报错 #Fri Nov 22 15:03:21.886 Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" } at src/mongo/shell/db.js:228 show collections # 拍照文档静止状态 再次录入用于如下下达,结果显示错误未经专利权 db.system.users.find(); # 拍照成立服务器端讯息 db.system.users.remove({user:"zhansan"}) # 移除服务器端 #维持加密只无必需重启mongodb 不沙便是auth函数 } 四、录入{ 192.168.1.5:28017 # http录入后可拍照静止状态 mongo # 选项录入后推开 test 坎 mongo 192.168.1.5:27017/databaseName # 并不必需要相连某个坎 不存在则成立 顺利完成评鉴无必需自行暂时近似于坎才可录入 } 五、拍照静止状态{ #录入后分派下达拍照静止状态 db.runCommand({"serverStatus":1}) globalLock # 透露均局存储针空置了服务器端多少时长(微秒) mem # 包含服务器端缓存映射了多少数据集,服务器端的网络的虚拟缓存和常驻缓存的空置原因(MB) indexCounters # 透露B树在磁盘检索(misses)和缓存检索(hits)的短时间.如果这两个比绝对值开始飙升,就要考虑添沙缓存了 backgroudFlushing # 透露除此以外好好了多少次fsync以及用了多少时长 opcounters # 包含每种收纳要摸撞的短时间 asserts # 统计学了断言的短时间 #静止状态讯息从服务器端顺利完成开始计算,如果过大就会夺权,发送夺权,所有计数都能夺权,asserts中所的roolovers绝对值增沙 #mongodb自带的下达 ./mongostat insert #每秒插入值 query #每秒核对值 update #每秒预览值 delete #每秒移除值 locked #针定值 qr|qw #客户端核对排队长度(中学毕业|寄给) ar|aw #活跃客户端值(中学毕业|寄给) conn #相连数 time #这两项时长 mongostat -h 127.0.0.1 便是port 27047 便是authenticationDatabase admin -u zadmin -p Keaphh9e # 拍照mongo静止状态 mongotop -h 127.0.0.1 便是port 27047 便是authenticationDatabase admin -u zadmin -p Keaphh9e # 拍照mongo不可数的统计学数据集 } 六、常用下达{ db.listCommands() # 这两项MongoDB全力支持的所有下达(同样可通过列车运行下达db.runCommand({"listCommands" : 在在1})来核对所有下达) db.runCommand({"buildInfo" : 1}) # 留在MongoDB服务器端的版本号和服务器端OS的子系统性讯息 db.runCommand({"collStats" : tablename}) # 留在该不可数的统计学讯息,除此以外数据集不等,已分配存储维度不等,资料坎的不等等 db.runCommand({"dropDatabase" : 1}) # 清空这两项资料坎的讯息,除此以外移除所有的不可数和资料坎 db.runCommand({"isMaster" : 1}) # 检查本服务器端是收纳服务器端还是从服务器端 db.runCommand({"ping" : 1}) # 检查服务器端文档是不是情况下。即便服务器端上针,该下达也会即刻留在 db.runCommand({"repaireDatabase" : 1}) # 对这两项资料坎进行重建并压缩,如果资料坎同样大,这个下达会十分耗时 db.runCommand({"serverStatus" : 1}) # 拍照这台服务器端的政府机构统计学讯息 # 某些下达不能在admin资料坎下列车运行,如下两个下达: db.runCommand({"renameCollection" : 不可数名, "to":不可数名}) # 对不可数早先为,注意两个不可数名都要是原始的不可数定名维度,如foo.bar, 透露资料坎foo下的不可数bar。 db.runCommand({"listDatabases" : 1}) # 列出服务器端上所有的资料坎 mongo 172.20.20.1:27072/mdb 便是eval "db.tb.count();" # shell分派mongo语句 mongo 便是host 172.20.20.1 便是port 27049 rs.config(); # 拍照一个大装配 rs.status(); # 拍照一个大路由器的静止状态 db.currentOp() # 借助这两项正在分派的装配,可近似于下达文档到ip:port db.runCommand( { logRotate : 1 } ) # 快照借助于 rs.slaveOk() # 设立从坎shell可中学毕业 rs.addArb("172.16.10.199:27020"); # 添沙仲裁路由器 rs.add({host: "10.2.2.2:27047", priority: 0, hidden: true}) # 添沙从路由器 hidden true背后路由器[priority不能为0] false不背后 rs.remove("172.20.80.216:27047"); # 移除路由器 rs.stepDown(120) # 收纳坎上分派中学毕业取为从,120秒后中学毕业取回收纳 show dbs # 核对db use post # 选择db show tables # 拍照应用程序本备注 db.tb.drop() # 移除不可数 无必需职责 db.tb.remove({}) # 移除所有数据集 db.tb.count() # 核近似于用程序条数 db.tb.find() # 拍照应用程序细节 db.tb.find({_id:37530555}) # 核对自行暂时id db.tb.find().sort({_id:-1}).limit(1) # 核近似于用程序最后一条 db.tb.find({"processed" : {"$ne" : true}}).limit(1); # 数组不为 true db.tb.find({"processed" : {"$eq" : true}}).limit(1); # 数组为 true db.tb.find({"processed" : {"$exists" : false}}).limit(1); # 数组不存在 db.tb.ensureIndex({"status":1}, {background:true}) # 除此以外沙资料坎 db.tb.getIndexes() # 拍照资料坎 db.tb.ensureIndex({"c_type":1},{backgrounnd:true}) # 除此以外添沙资料坎 1正向 -1反向 db.tb.dropIndex({"c_type":1}); # 移除资料坎 } 七、的网络控制{ db.currentOp() # 拍照商业活动的网络 db.$cmd.sys.inprog.findOne() # 拍照商业活动的网络 与上面一样 opid # 装配的网络号 op # 装配并不一定(核对预览) ns # 定名维度,所称装配的是哪个取向 query # 如果装配并不一定是核对,这里将结果显示具体的核对细节 lockType # 针的并不一定,标明是中学毕业针还是寄给针 db.killOp(opid绝对值) # 中止的网络 db.$cmd.sys.killop.findOne({op:opid绝对值}) # 中止的网络 } 八、存档转换成{ # mongodump 虽然能不停机存档,但是为了借助实时数据集视图的能力,用于fsync下达能在列车运行时复制数据集目录并且不会损伤数据集 # fsync会强制服务器端将所有缓冲区的数据集存储磁盘.配合lock还阻止对资料坎的全面存储,知道拘押针为止 db.runCommand({"fsync":1,"lock":1}) # 分派强制预览与存储针 db.$cmd.sys.unlock.findOne() # 解针 db.currentOp() # 拍照解针是不是情况下 mongoexport -d test -c t1 -o t1.dat # 等价JSON播放器 -c # 标明等价不可数 -d # 用于坎 mongoexport -d test -c t1 -csv -f num -o t1.dat # 等价csv播放器 -csv # 标明等价csv播放器 -f # 标明无必需等价那些例 mongoimport -d test -c t1 -file t1.dat # mongoimport转换成JSON播放器 mongoimport -d test -c t1 -type csv 便是headerline -file t1.dat # mongoimport转换成csv播放器数据集 便是headerline # 标明不导入第一行 因为第一行是九位 mongodump -d test -o /bak/mongodump # mongodump数据集存档 mongorestore -d test 便是drop /bak/mongodump/* # mongorestore维持 便是drop # 维持当年先为移除 便是gzip # 压缩 # 存档一个备注 # 便是excludeCollection string # 除去自行暂时的不可数 要除去多个,用于多个 mongodump 便是host 127.0.0.1:27080 -d dbname -c tablename -o /data/reports/ mongodump 便是host 127.0.0.1:27080 -d dbname -c tablename -o /data/reports/reports -u root -p tAvaa5yNUE 便是authenticationDatabase admin # 维持一个备注 mongorestore 便是host 127.0.0.1:27080 -d dbname -c tablename 便是drop 便是dir=/data/reports/tablename.bson # Skype拷贝一个坎 db.copyDatabase(fromdb, todb, fromhost, username, password, mechanism) db.copyDatabase('mate','mate', '172.16.255.176:27047') } 九、重建{ # 当停电或其他超载引起不情况下停用时,会造成部分数据集损伤丢失 mongod 便是repair # 重建装配:顺利完成时候沙上 便是repair # 重建反复:将所有应用程序等价,然后马上导入,也许无效应用程序.顺利进行后重建资料坎。时长较长,会丢弃损伤应用程序 # 重建数据集还能起到压缩资料坎的抑制作用 db.repairDatabase() # 列车运行中所的mongodb可用于 repairDatabase 重建这两项用于的资料坎 {"repairDatabase":1} # 通过驱动程由此可知 } 十、python用于mongodb{ easy_install pymongo # python2.7+ import pymongo connection=pymongo.Connection('localhost',27017) # 成立相连 db = connection.test_database # 中学毕业取资料坎 collection = db.test_collection # 借助collection # db和collection都是等待时间成立的,在添沙Document亦同真正成立 应用程序添沙, _id自动成立 import datetime post = {"author": "Mike", "text": "My first blog post!", "tags": ["mongodb", "python", "pymongo"], "date": datetime.datetime.utcnow()} posts = db.posts posts.insert(post) ObjectId('...') 批值插入 new_posts = [{"author": "Mike", "text": "Another post!", "tags": ["bulk", "insert"], "date": datetime.datetime(2009, 11, 12, 11, 14)}, {"author": "Eliot", "title": "MongoDB is fun", "text": "and pretty easy too!", "date": datetime.datetime(2009, 11, 10, 10, 45)}] posts.insert(new_posts) [ObjectId('...'), ObjectId('...')] 借助所有collection db.collection_names() # 大约SQL的show tables 借助单个应用程序 posts.find_one() 核对多个应用程序 for post in posts.find(): post 沙当年提的核对 posts.find_one({"author": "Mike"}) 高级核对 posts.find({"date": {"$lt": "d"}}).sort("author") 统计学数值 posts.count() 沙资料坎 from pymongo import ASCENDING, DESCENDING posts.create_index([("date", DESCENDING), ("author", ASCENDING)]) 拍照核对语句的效率 posts.find({"date": {"$lt": "d"}}).sort("author").explain()["cursor"] posts.find({"date": {"$lt": "d"}}).sort("author").explain()["nscanned"] } }。

北京看白癜风医院哪个好
郑州不孕不育治疗医院
梅州白癜风权威医院
小孩鼻炎吃再林阿莫西林颗粒有用吗
泉州白癜风治疗费用

上一篇: 投资者提问:DDR5配套芯片今日都已经用在消费端了,请问从行业发展趋势来看...

下一篇: 孚能科技盈利快报:2021年亏损9.74亿元

友情链接