初探 Nosql : 列举两个简单的例子
第一个示例创建一个简单的位置首选项存储,第二个示例管理汽车品牌和模型数据库。这两个示例都侧重于与NoSQL上下文相关的数据管理方面。
示例一 : 创建一个简单的位置首选项存储
随着当地企业试图与附近的用户建立联系,以及大公司试图根据人们驻扎的位置定制他们的在线体验和产品,基于位置的服务正变得越来越突出。在流行的应用程序中可以看到一些常见的基于位置的偏好,例如Google地图,它允许本地搜索,以及在线零售商(如 Walmart.com)根据离您最近的沃尔玛商店位置提供产品可用性和促销信息。
有时要求用户输入位置数据,有时推断用户位置。推理可以基于用户的 IP 地址、网络接入点(特别是当用户从移动设备访问数据时)或这些技术的任意组合。无论数据是如何收集的,您都需要有效地存储它,这就是示例开始的地方。
为简单起见,仅在美国为用户维护位置首选项,因此只需用户标识符和邮政编码即可查找用户的位置。让我们从用户名作为其标识符开始。需要维护“John Doe,10001”、“Lee Chang,94129”、“Jenny Gonzalez 33101”和“Srinivas Shastri, 02101”等数据点。
为了以灵活且可扩展的方式存储此类数据,此示例使用名为 MongoDB 的非关系数据库产品。在接下来的几个步骤中,您将创建一个MongoDB数据库并存储一些示例位置数据点。
启动MongoDB并存储数据
假设您已成功安装MongoDB,请启动服务器并连接到它。
您可以通过在发行版的 bin 文件夹中运行 mongod 程序来启动 MongoDB 服务器。发行版因底层环境而异,可以是 Windows、Mac OS X 或 Linux ,但在每种情况下,服务器程序都具有相同的名称,并且它驻留在发行版中名为 bin 的文件夹中。
连接到MongoDB服务器的最简单方法是使用发行版中可用的JavaScript shell。只需从命令行界面运行 mongo。mongo JavaScript shell 命令也可以在 bin 文件夹中找到。
当您通过运行mongod启动MongoDB服务器时,您应该在控制台上看到类似于以下内容的输出:
当 mongod 通过 Windows PowerShell 运行时,此特定输出是在 Windows 7 64 位计算机上捕获的。根据您的环境,您的输出可能会有所不同。
现在数据库服务器已经启动并运行,请使用 mongo JavaScript shell 连接到它。外壳的初始输出应如下所示:
默认情况下,mongo shell 连接到本地主机上可用的“test”数据库。从 mongod(服务器守护程序)控制台输出中,您还可以猜测 MongoDB 服务器在端口 27017 上等待连接。要探索一组可能的初始命令,只需在 mongo 交互式控制台上键入 help。键入帮助并按 Enter 键(或 Return)键时,您应该会看到如下命令选项列表:
自定义 MONGODB 数据目录和端口
默认情况下,MongoDB将数据文件存储在/data/db(Windows上的c:\data\db)目录中,并侦听端口27017上的请求。您可以通过使用 dbpath 选项指定目录路径来指定备用数据目录,如下所示:
mongod--dbpath /path/to/alternative/directory
如果数据目录尚不存在,请确保已创建该目录。此外,请确保 mongod 有权写入该目录。
此外,您还可以通过显式传递端口来指示MongoDB侦听备用端口上的连接,如下所示:
mongod --port 94301
复制代码
为避免冲突,请确保端口未在使用中。
要同时更改数据目录和端口,只需同时指定 --dbpath 和 --port 选项以及 mongod 可执行文件的相应替代值。
接下来,您将学习如何在MongoDB实例中创建首选项数据库。
创建首选项数据库
首先,创建一个名为 prefs 的首选项数据库。创建后,将username和zip code的元组(或对)存储在此数据库内的名为 location 的集合中。然后将可用的数据集存储在此定义的结构中。在MongoDB术语中,它将转化为执行以下步骤:
-
切换到首选项数据库。
-
定义需要存储的数据集。
-
将定义的数据集保存在名为位置的集合中。
要执行这些步骤,请在 Mongo JavaScript 控制台上键入以下内容:<