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 变量中。