Section 1.1: 在 MongoDB 中执行 JavaScript 文件

./mongo localhost:27017/mydb myjsfile.js

说明: 此操作将在 mongo shell 中执行 myjsfile.js 脚本,该 shell 将连接到 mongod 实例上的 mydb 数据库,该数据库可通过 localhost 接口访问,端口为 27017。localhost:27017 并非必须,因为这是 mongodb 使用的默认端口。 此外,你还可以在 mongo 控制台中运行 .js 文件。

> load("myjsfile.js")

Section 1.2: 让 shell 可以读取查找的输出结果

我们在集合测试中添加了三条记录,分别是

> db.test.insert({"key":"value1","key2":"Val2","key3":"val3"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value2","key2":"Val21","key3":"val31"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value3","key2":"Val22","key3":"val33"})
WriteResult({ "nInserted" : 1 })

如果我们通过查找看到它们,它们会显得非常丑陋。

> db.test.find()
{ "_id" : ObjectId("5790c5cecae25b3d38c3c7ae"), "key" : "value1", "key2" : "Val2", "key3" : "val3" }
{ "_id" : ObjectId("5790c5d9cae25b3d38c3c7af"), "key" : "value2", "key2" : "Val21", "key3" : "val31" }
{ "_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"), "key" : "value3", "key2" : "Val22", "key3" : "val33" }

要解决这个问题并使它们具有可读性,可以使用 pretty() 函数。

> db.test.find().pretty()
{
    "_id" : ObjectId("5790c5cecae25b3d38c3c7ae"),
    "key" : "value1",
    "key2" : "Val2",
    "key3" : "val3"
}
{
    "_id" : ObjectId("5790c5d9cae25b3d38c3c7af"),
    "key" : "value2",
    "key2" : "Val21",
    "key3" : "val31"
}
{
    "_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"),
    "key" : "value3",
    "key2" : "Val22",
    "key3" : "val33"
}
>

Section 1.3: 补充术语

SQL Terms MongoDB Terms
Database Database
Table Collection
Entity / Row Document
Column Key / Field
Table Join Embedded Documents
Primary Key Primary Key (Default key _id provided by mongodb itself)

Section 1.4: 安装

要安装 MongoDB,请按以下步骤操作:

For Mac OS:

Mac OS 有两种选择:手动安装或自制软件。 使用自制软件安装:

在终端中键入以下命令

$ brew install mongodb

手动安装:

在此处下载最新版本。确保您下载的是合适的文件,特别要检查您的操作系统类型是 32 位还是 64 位。下载的文件为 tgz 格式。

转到下载文件的目录。然后键入以下命令

$ tar xvf mongodb-osx-xyz.tgz

解压缩后的文件夹将与 tgz 文件名相同。解压缩后的文件夹与 tgz 文件名相同。文件夹内有一个名为 bin 的子文件夹,其中包含多个二进制文件以及 mongod 和 mongo。

默认情况下,服务器将数据保存在 /data/db 文件夹中。因此,我们必须创建该目录,然后使用以下命令运行服务器:

$ sudo bash
# mkdir -p /data/db
# chmod 777 /data
# chmod 777 /data/db
# exit

要启动服务器,应从当前位置发出以下命令:

$ ./mongod

默认情况下,它会在 27017 端口启动服务器。 要启动客户端,应打开一个新终端,目录与之前的相同。然后使用以下命令启动客户端并连接服务器。

$ ./mongo

默认情况下,它会连接到测试数据库。如果你看到连接到:test. 那么你已经成功安装了 MongoDB。恭喜你!现在,你可以测试 Hello World,以便更有把握。

For Windows:

在此下载最新版本。请确保您下载的是适当的文件,特别要检查您的操作系统类型是 32 位还是 64 位。

下载的二进制文件扩展名为 exe。运行它。它会提示安装向导。

单击下一步。

接受许可协议并单击下一步。

选择 “完成安装”。

点击安装。可能会弹出一个窗口询问管理员权限。单击是。

安装完成后点击完成。

现在,mongodb 已安装在 “C:/Program Files/MongoDB/Server/3.2/bin ”路径下。对于你的情况,可能有其他版本,而不是 3.2 版。路径名也会相应更改。

bin 目录包含多个二进制文件以及 mongod 和 mongo。要从其他文件夹运行,可以在系统路径中添加路径。具体方法如下

右键单击 “我的电脑”,选择 “属性”。

点击左侧窗格中的高级系统设置。

单击 “高级 ”选项卡下的 “环境变量...”。

从 “系统变量”部分选择 “路径”,然后单击 “编辑....”。

在 Windows 10 之前,添加分号并粘贴上面给出的路径。在 Windows 10 中,有一个 “新建 ”按钮可以添加新路径。

点击 “确定 ”保存更改。

现在,创建一个名为 data 的文件夹,其中有一个名为 db 的子文件夹,您要在其中运行服务器。

在其中启动命令提示符。或者在 cmd 中更改路径,或者单击此处的 “打开命令窗口”,在文件夹图形用户界面的空白处单击右键并同时按下 Shift 和 Ctrl 键后,就能看到该窗口。

编写启动服务器的命令:

 > mongod

默认情况下,它会在 27017 端口启动服务器。

打开另一个命令提示符,键入以下内容启动客户端:

 > mongod

默认情况下,它会连接到测试数据库。如果你看到连接到:test. 那么你就成功安装了 MongoDB。恭喜你 现在,你可以测试 Hello World,以便更有把握。

适用于 Linux: 几乎与 Mac OS 相同,只是需要一些相应的命令。

对于基于 Debian 的发行版(使用 apt-get):

导入 MongoDB 存储库密钥。

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
gpg: Total number processed: 1\
gpg: imported: 1 (RSA: 1)

在 Ubuntu 16.04 的软件包列表中添加软件仓库。

$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse"
| sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

在 Ubuntu 14.04.

$ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse"
| sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

更新软件包列表。

$ sudo apt-get update

安装 MongoDB。

$ sudo apt-get install mongodb-org

对于基于 Red Hat 的发行版(使用 yum):

使用你喜欢的文本编辑器。

$ vi /etc/yum.repos.d/mongodb-org-3.4.repo

粘贴以下文本。

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

更新软件包列表。

$ sudo yum update

安装 MongoDB

$ sudo yum install mongodb-org

Section 1.5: mongo shell 的基本命令

显示所有可用数据库

show dbs;

选择要访问的特定数据库,如 mydb。如果 mydb 尚不存在,则将创建该数据库:

use mydb;

显示数据库中的所有收藏集(请务必先选择一个,见上文):

show collections;

显示可用于数据库的所有功能:

db.mydb.help();

要检查当前选定的数据库,请使用 db 命令

> db
mydb

db.dropDatabase() 命令用于删除现有数据库。

db.dropDatabase()

Section 1.6: Hello World

安装完成后,应在 mongo shell(客户端)中输入以下几行。

> db.world.insert({ "speech" : "Hello World!" });
> cur = db.world.find();x=cur.next();print(x["speech"]);

Hello World!

解释:

在第一行中,我们在默认数据库 test 和名为 world 的集合中插入了一个 { key : value } 配对文档。

在第二行中,我们检索刚刚插入的数据。检索到的数据保存在名为 cur 的 javascript 变量中。然后,通过 next() 函数,我们获取了第一个也是唯一一个文档,并将其保存在另一个名为 x 的 javascript 变量中。