文档是Mongodb中的核心概念。文档就是键值对的有序集合。相似于ruby中的hash,python中的dict或是javascript中的对象。javascript
能够只有一个键值对,也能够设置对个键值对。java
"greeting": "Hello, World"}
{"greeting": "Hello, World", "foo": 3}
文档中的键/值是有序的 {"x": 1, "y": 2}与{"y": 2, "x": 1} 是不一样的。在某些特殊状况下,字段顺序变得很是重要。python
简单的来讲:集合就是一组文档,若是将Mongodb中的一个文档比喻为关系型数据库中的一行,那么一个集合就至关于一张表正则表达式
集合使用名称进行表示。集合名能够是知足下列条件的任意UTF8字符串mongodb
在Mongodb中,多个文档组成集合,而多个集合能够组成数据库。每一个数据库拥有0个或者多个集合,每一个数据库都有独立的权限,即使是在磁盘上,不一样的数据库也防止在不一样的文件中。按照经验咱们把一个应用程序的全部数据都存储在一个数据库中。要想在MongoDB服务器上存放多个应用程序或者用户程序就须要使用不一样的数据库。shell
有一些数据库是保留的admin数据库
把数据库名添加到集合名前,获得集合的彻底限定名,即命名空间。若是要使用cms数据库中的blog.post集合那么这个集合的命名空间就是cms.blog.post。命名空间的长度不能超过121字节,且在实际使用中应小于100字符。数组
mongo 命令进入mongodb shell 在此shell 中能够执行 JavaScript代码ruby
{"x": {"foo": "bar"}}
服务器
还有些不那么经常使用可是有可能用获得的类型:
shell 能够链接到本地的mongod实例,并且能够经过该shell链接到任何MongoDB实例
$ mongo some-host:30000/myDB
MongoDB shell version: 2.4.0
connecting to: some-host:30000/myDB
>
如今咱们就链接到了some-host:30000上的myDB数据库.
也能够经过--nodb 不链接任何数据库进入shell
$ » mongo --nodb apple@apple-Pro MongoDB shell version v4.0.3 >
启动后能够在须要时运行new Mongo命令就能够链接MongoDB
~/Documents/demo/go_demo » mongo --nodb apple@apple-Pro MongoDB shell version v4.0.3 > conn = new Mongo("some-host:30000") > db = conn.getDB("myDb") myDb