MongoDB入门基本问题

来源:互联网 发布:sql update set 编辑:程序博客网 时间:2024/05/29 02:42

1.MongoDB是一款面向文档的数据库,那么面向文档有什么好处?

和关系型数据库不同的是,面向文档的数据库没有“行”的概念,而是“文档”的概念,因为文档可以嵌入文档和数组,所以通过文档能够使用一条记录就可以表现很复杂的层次关系。

另外,面向文档不再是预定义模式,通常的关系型数据库在设计数据库的时候就要先设计好表的结构,面向文档的数据库不需要,由于不需要固定的模式,所以添加删除字段变得很容易,也就更容易表现复杂的层次关系了。

2.MongoDB中提供了那些功能供我们使用?

MongoDB提供了索引、复制、分片以及丰富的查询语句,注意MongoDB并不具备连接(join)和复杂的多行事务功能。

3.MongoDB不但区分类型,而且区分大小写。

{"foo":3}{"foo":"3"}{"foo":3}{"Foo":3}

4.MongoDB的文档不能有重复的键

{"first":"hello world","first":"hello mongo"}


5.MongoDB集合里面可以放置任何文档,那么为什么还要使用多集合呢?

便于区分各种各样的文档。

分开查询多个集合要快得多。

同种类型的文档放在一个集合里,数据更加集中

在一个集合中只放置一种类型的文档,可以更加有效的对集合进行索引。

6.MongoDb中保留数据库名

admin

这是一个管理员数据库,也就是root数据库,如果将一个用户添加到这个数据库,这个用户将自动获取所有数据库的权限,还有就是一些特殊的服务器端命令也只能从admin数据库运行,如列出所有数据库或者关闭服务器。

local

这个数据库永远不可以复制,这是一个本地数据库,一台服务器上的所有本地集合都可以存储在这个数据库中。

config

分片信息会存储在config数据库中。

7.MongoDB中的数据类型

null、布尔型、数值、字符串、正则表达式、数组、内嵌文档、对象id、二进制数据、任意javaScript代码、JavaScript中日期类

8. mongorc.js文件的用途

如果某些脚本会被频繁的使用,那么可以将它们添加到mongorc.js中,这个文件会在启动shell时自动运行。mongorc.js最常见的用途之一是移出那些比较危险的shell辅助函数,如下:

var no = function(){      print("Not no my watch.");}//禁用删除数据库db.dropDatabase = DB.prototype.dropDatabase = no;//禁止删除集合DBCollection.prototype.drop = no;//禁止删除索引DBCollection.prototype.dropIndex = no;
这些方法并不能保护数据库免受恶意用户攻击,只是预防自己手误。


1 0
原创粉丝点击