快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → MongoDB的2个知识点

MongoDB的2个知识点

时间:2022-09-18 18:05:10人气:作者:快盘下载我要评论

//

MongoDB的2个知识点

//

01

连接数

mysql中,我们可以通过show processlist的命令来查看当前的连接数,使用max_connections和max_user_connections参数来查看最大连接数,那么在MongoDB中我们如何查看连接相关的信息呢?

常见的三种方法如下:

----------方法一:查看系统最大连接--------------
找到进程号,然后查看max open files 大小:
ps -ef|grep  24208
mon24208   674     1 15 Aug11 ?        18-18:20:56 /usr/local/sinasrv2/mongodb-linux-4.0.4/bin/mongod -f /data1/mongo24208/mongo24208.conf
[root@10.13.16.102 ~]# cat /proc/674/limits | grep "Max open"
Max open files            288000               288000               files

---------方法二:查看当前连接数---------------
coredata10:PRIMARY> db.serverStatus().connections
{ "current" : 187, "available" : 9813, "totalCreated" : 5619230 }

这两个的关系:
current + available = totalCreated  < max open files
9813+187=10000< 288000

---------方法三:查看配置文件的最大连接----------------
直接查看mongodb.conf中的配置文件
net:
    port: 24208
    bindIp: 10.13.16.102,127.0.0.1
    maxIncomingConnections: 10000

默认情况下,最大连接数是max file limits的0.8倍。这是出于一种保护性的考虑,不可能把所有的open file句柄都拿来维护连接数,还需要保持对磁盘上文件的访问。

02

查询的limit、count和skip用法

1、使用count()方法查询表中的记录数。两种方法都可以。
> db.yeyz.find()
{ "_id" : ObjectId("5fa172c86e2f58da10d28aa3"), "name" : "yeyz" }
{ "_id" : ObjectId("5fa1743ac69e2dfa962884d7"), "name" : "zhangsan" }
{ "_id" : ObjectId("5fa1776dbb2e0d2bc89a21fb"), "name" : "lisi" }
> db.yeyz.find().count()
3
> db.yeyz.count()
3



2、skip()方法可以用来跳过指定条记录

> db.yeyz.find()
{ "_id" : ObjectId("5fa172c86e2f58da10d28aa3"), "name" : "yeyz" }
{ "_id" : ObjectId("5fa1743ac69e2dfa962884d7"), "name" : "zhangsan" }
{ "_id" : ObjectId("5fa1776dbb2e0d2bc89a21fb"), "name" : "lisi" }

> db.yeyz.find().skip(1).limit(2)
{ "_id" : ObjectId("5fa1743ac69e2dfa962884d7"), "name" : "zhangsan" }
{ "_id" : ObjectId("5fa1776dbb2e0d2bc89a21fb"), "name" : "lisi" }

> db.yeyz.find().skip(2).limit(2)
{ "_id" : ObjectId("5fa1776dbb2e0d2bc89a21fb"), "name" : "lisi" }



3、count()如果直接接在find()后面,没有加参数,则返回的是表中的所有记录
如果count()接在find()或者其他条件后面,要统计结果的条数,则需要补充count(非0值)或者count(true)

> db.yeyz.find().skip(2).limit(2).count()
3
> db.yeyz.find().skip(2).limit(2).count(1)
1
> db.yeyz.find().skip(2).limit(2).count(true)
1

需要注意的是count(),如果前面有其他的函数,最后想要统计函数过滤之后的count结果,需要在count函数中传入一个非0的参数或者传递一个true,否则,得到的结果,是集合里面所有文档的总数。

相关文章

  • 一步步带你设计MySQL索引数据结构

    一步步带你设计MySQL索引数据结构,想想我们生活中的例子,比如新华字典,我们有一个目录,目录根据拼音排序,内容包含了汉字位于字典中具体的的页码。聪明的你肯定也想到了,我们也可以借鉴这种思想,建立一个MySQL的目录,叫做“索引”。...
  • 影刀连接Mysql数据库

    影刀连接Mysql数据库,影刀配置连接mysql数据库基础版...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。