MongoDB学习整理的问题点

mongodb中null和$exists的区别是$exists只能判断字段是否存在,而null不仅仅查询出字段为null的文档并且不存在该字段的文档也能查询出来。

mongodb主键映射逻辑,默认情况Mongodb需要你所有的文档都包含有_id字段,如果没有提供,则Mongodb会提供一个ObjectId默认的值作为唯一值,可以通过

以下两种方案提供,通过使用注解@Id标注在主键字段上或是声明字段名称为id的唯一字段上(自己指定必须要保证唯一性,不然后抛出异常)。

Mongodb主键类型主要是String和BigInteger。

MongoClient配置参数整理。
threadsAllowedToBlockForConnectionMultiplier。 connectionsPerHost的倍数,表示如果池当前耗尽,允许等待连接变为可用的线程数,如果当前所有的

connection都在使用中,则相当于每个connection上可以有5个线程排队等待。
maxWaitTime,一个线程访问数据库的时候,在成功获取到一个可用数据库连接之前的最长等待时间为2分钟,这里比较危险,如果超过maxWaitTime都没有获取

到这个连接的话,该线程就会抛出Exception,故这里设置的maxWaitTime应该足够大,以免由于排队线程过多造成的数据库访问失败。
connectTimeout,与数据库建立连接的timeout。

MongoClient是线程安全的类,他的内部包含了连接池,所以我们的程序中只应该包含一个MongoClient对象。

autoConnectRetry仅仅意味着驱动程序会自动尝试重新连接到意外断开连接后在服务器(一个或多个)。在生产环境中,您通常需要将此设置为true。

如何确认最大链接数通过db.serverStatus().connections.available,Mongodb默认的可用链接数是999999。

Mongodb是无模式的,但是在使用spring的时候spring提供了基于POJO的注解定义转换来转成文档,这种使用方式相当于我们约定了模式。

mongodb一定不能通过kill进程来关闭,会损坏数据文件,一定要通过admin库下执行db.shutdownServer()来关闭数据库。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值