课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
掌握不同的数据库类型能够让软件编程开发程序员满足更多的编程开发需求,而本文我们就通过案例分析来简单了解一下,MongoDB数据库都有哪些组成结构。
文档
文档是MongoDB中数据的基本存储单元,以一种叫作BSON的文档结构表示。
文档中的键值对是有序的,不同序则是不同文档。并且键是区分大小写的,否则也为不同文档。
文档的键是字符串,而值除了字符串,还可以是Int、Long、Double、Boolean、数组、嵌入文档等多种类型。
每个文档都有一个默认的_id键,它相当于关系型数据库中的主键,这个键的值在同一个集合中必须是的。
_id键的值默认是ObjectId类型,在插入文档的时候,如果用户不设置文档的_id值的话,MongoDB会自动生成一个的ObjectId值进行填充。
数据库文件
MongoDB在3.2版本已经将WiredTiger作为默认的存储引擎。其作为存储引擎的时候,数据库会有以下存储文件:
collection-*.wt:存储集合的数据
index-*.wt:存储索引的数据
WiredTiger:存储基本配置信息
WiredTiger.wt:存储所有其他集合的元数据信息
WiredTiger.lock:存储进程ID,用于防止多个进程连接同一个WiredTiger数据库
WiredTiger.turtle:存储WiredTiger.wt的元数据信息
journal:存储数据库的写日志
命令行工具
MongoDB提供的mongosh是一个JavaScript的shell,其提供了许多高级功能和自定义功能。
使用技巧
对于MongoDB提供的功能,shell内置了帮助文档,可以输入help命令进行访问,使用db.help()可以查看数据库级别的帮助文档,使用db.foo.help()可以查看集合级别的帮助文档。
在shell中使用函数之前,在不使用括号的情况下输入函数名,这样会打印出函数的源代码,这是一个可以查看函数具体行为的好方法。
执行脚本
shell不止可以直接执行JavaScript的脚本代码,还可以用于执行JavaScript的脚本文件,简单执行mongoscript.js即可。
如果已经进入到shell中,可以使用load()函数加载JavaScript脚本文件。
创建.mongorc.js文件
对于需要频繁被加载的脚本,可以将它们添加到.mongorc.js中,此文件会在启动shell时自动运行。
在更实际一些的场景中,使用此脚本可以设置全局变量,或者为长名称设置一个简短的别名,也可以重写内置函数。
定制提示信息
通过将prompt变量设置为一个字符串或函数,可以重写默认的shell提示。
提示函数应该返回一个字符串,通常应该包含对getLastError的调用,这样可以捕获输入时的错误,并在shell断开连接时自动重新连接。
编辑复杂变量
使用shell时,编辑多行的时候不能再编辑前面的行,这对于较大的代码块或对象非常不友好。
为此,可以在shell中设置EDITOR变量,则可以使用editvarname的方式编辑一个变量,完成更改后只需保存并退出编辑器,变量将被重新解析并加载回shell中。
不便使用的集合名称
大多数情况下可以使用db.collectionName语法来获得一个集合的内容,但如果集合名称是保留字或是无效的JavaScript属性名称时,那么此方法就不能正常工作了。
对于上述的情况,可以使用db.getCollection()的方式绕过无效属性。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。