内容简介:错误原因是和转义字符有关。连接字符串使用的URL格式,所以其中的密码中的% 需要转义。知识扩展:连接mongo使用URI有特殊字符 '@' 或者":"或者‘%’, 连接会报错,需要进行转义。
(1)连接数据库时报错
ERROR Topshelf.Hosts.ConsoleRunHost.Run 1 An exception occurred System.TimeoutException: A timeout occured after 30000ms selecting a server using CompositeServerSelector
错误原因是和转义字符有关。连接字符串使用的URL格式,所以其中的密码中的% 需要转义。
知识扩展:
连接mongo使用URI有特殊字符 '@' 或者":"或者‘%’, 连接会报错,需要进行转义。
解决方法:
把 @ 换成 %40
把 : 换成 %3A
把 % 换成 %25
(2)时间字段的范围查询,请注意时间字段的类型。
例如,明看到集合中指定时间段内有数据,但是Count结果还是显示为0。
最早的一笔数据是20170816,但是使用以下语句查询2017-08-14 到 2018-08-18时间段内的文档数据为0.
问题在哪儿哪?
查看发现query.time字段类型是 string.
我们将查询语句的条件格式转换为字段的存储格式,就OK了。
所以,在设计集合模式时,要特别注意存储日期时间的字段的类型,建议为Date。另外,查询时也要小心,防止数据异常。
(3)副本集添加节点时报错
错误信息:
{
"ok" : 0,
"errmsg" : "Quorum check failed because not enough voting nodes responded; required 2 but only the following 1 voting nodes responded: 172.XXX.XXX.XXX:27017; the following nodes did not respond affirmatively: 172.XXX.XXX.XX:27017 failed with No route to host",
"code" : 74,
"codeName" : "NodeNotFound"
}
错误原因是:防火墙没关闭 导致
(4)将常规集合设置为固定集合,既有的索引丢失,需要重建。
db.runCommand({"convertToCapped": "集合名字", size: XXXXXX,"max":XXXXX});
设置为固定集合后,原来的索引都丢失了,需要谨记 。
(曾经的一个转换性能测试,及转为固定集合的耗时:1001 W数据,16.8 G 约耗时 6分钟)
(5)mongodb 对字段中有超过 1024 字节的不会建立索引
MongoDB will not create an index on a collection if the index entry for an existing document exceeds the index key limit (1024 bytes). You can however create a hashed index or text index instead:
除了上面的介绍外,还可以修改启动配置参数 ailIndexKeyTooLong。
(6)配置分片的复制集需,在启动的配置文件中需 指定 shardsvr参数。否则,在启动数据库分片时报错。
错误信息如下:
在config文件中,添加 shardsvr=true 即可。
重启服务,再次启动启动分片,执行OK.
附注:
MongoDB是一种非关系型数据库(NoSql),很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写 SQL 语句,直接调用方法就可以轻松的实现CRUD操作。
以上所述就是小编给大家介绍的《MongoDB 最近遇到的几个小问题》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
程序员的自我修养
陈逸鹤 / 清华大学出版社 / 2017-5 / 49.00
程序员作为一个职业、也作为一个群体,正逐渐从幕后走向前台,并以他们自己的能力加速改变着世界,也改变着人们生活的方方面面。然而,对于程序员,特别是年轻程序员们来说,如何理解自己的职业与发展,如何看待自己的工作与生活,这些问题往往比那些摆在面前的技术难题更让他们难以解答。 这本书从一个成熟程序员、一名IT管理者的角度,以杂记的形式为大家分享关于国内程序员职业生涯、个人发展、编程中的实践与认知乃至......一起来看看 《程序员的自我修养》 这本书的介绍吧!