devmarketer/laramongo

用于Laravel的MongoDB PHP库的包装器。允许在Laravel的Mongo facade下访问Mongo PHP库的原生方法。此包还通过启用原生PHP库不支持Mongo命令来扩展Mongo PHP库,例如地理空间命令。

v1.0.0 2017-10-02 03:52 UTC

This package is not auto-updated.

Last update: 2024-09-23 06:55:59 UTC


README

laramongo-logo

LaraMongo:在Laravel中集成MongoDB PHP驱动程序

此包将MongoDB官方PHP驱动程序包装成一个可以在Laravel中轻松使用的facade。这意味着您可以访问与MongoDB官方PHP驱动程序相同的所有方法,该驱动程序由MongoDB本身维护。当前的PHP驱动程序缺乏对一些原生MongoDB命令的支持,这些命令也将被添加。不仅提供MongoDB PHP驱动程序支持,还通过地理空间命令等命令增强它。

安装

安装简单,设置类似于其他任何Laravel包。

1. 通过Composer安装

首先,通过Composer引入包

composer require devmarketer/laramongo

2. 定义服务提供者和别名

接下来,我们需要引入别名和服务提供者。

注意:此包支持Laravel 5.5的新自动发现功能,因此如果您正在使用Laravel 5.5项目,则安装完成,您可以跳到步骤3。

如果您正在使用Laravel 5.0 - 5.4,则需要添加提供者和别名。在您的config/app.php中定义一个新的服务提供者

'providers' => [
	//  other providers

	DevMarketer\LaraMongo\MongoServiceProvider::class,
];

然后,我们想在同一个config/app.php文件中定义一个别名。

'aliases' => [
	// other aliases

	'Mongo' => DevMarketer\LaraMongo\MongoFacade::class,
];

3. 发布配置文件

配置文件是必要的,以便配置到您的MongoDB安装的连接设置。

要生成配置文件,请将以下命令输入到您的终端中

php artisan vendor:publish --tag=laramongo

这将在config/mongo.php生成一个配置文件。继续阅读,了解如何使用此配置文件设置您的连接(如果配置文件中的说明不够清晰)。

使用

设置

在正确安装所有内容后,您需要配置一些设置以确保该包可以连接到您的MongoDB安装。

您可以通过将这些设置添加到您的.env文件来配置所有内容。如果您从.env文件中省略了这些设置之一,则这些是它默认的值

MONGO_URI=127.0.0.1
MONGO_PORT=27017
MONGO_USERNAME=admin
MONGO_PASSWORD=
MONGO_AUTH_DB=admin

设置这些设置时请记住以下事项

  1. MONGO_URI设置可以包含主机名、IP地址或UNIX域套接字。
  2. MONGO_URI的默认值是127.0.0.1,相当于localhost
  3. MONGO_PORT值应该是数字,不要添加冒号来表示端口号,这将在包内自动处理。
  4. 如果您没有为您的MongoDB数据库定义端口号,则可以假设它的默认值是这里设置的27017
  5. 重要 - 默认情况下,此包尝试进行身份验证。如果您出于某种原因没有使用身份验证(例如在本地环境中),则从您的 .env 文件中省略 MONGO_USERNAME,或将它设置为 null。这会告诉 LaraMongo 您不想进行身份验证。这实际上忽略了 MONGO_PASSWORDMONGO_AUTH_DB 的值,即使您为它们设置了值。
  6. MONGO_USERNAMEMONGO_PASSWORD 设置的值应该是普通的字符串。LaraMongo 包将处理它们到所需的编码。
  7. MONGO_AUTH_DB 的值不应包含任何前导或尾随斜杠。它只是一个简单的字符串,代表包含您的身份验证信息的数据库的名称。(默认为 admin,对于大多数用户来说这是一个合理的默认值,并且通常可以省略,如果您符合此标准)。

您还可以在您的 .env 文件中设置额外的设置以自定义选项。

MONGO_URI_OPTIONS=
MONGO_DRIVER_OPTIONS=

默认情况下不传递任何选项,但如果您想自定义某些内容,这些选项应该以可以转换为数组的字符串格式,例如 MONGO_URI_OPTIONS='["replicaSet" => "test"]'

有关这些选项和您可用的选项的详细信息,请访问
MongoDB PHP 驱动程序 - 连接字符串选项

文档

MongoDB PHP 库 - 官方文档 https://docs.mongodb.com/php-library/current/

请记住,此包仅是对官方 MongoDB PHP 库的封装,因此您可以像使用主库一样使用它。调用 Mongo::get() 门面,然后使用上面链接的文档中找到的任何方法。

示例

此示例将从 testdb 数据库中的 examplecollect 集合中获取集合对象。第二行使用该集合对象并从中获取所有内容,并将其转换为数组以在 PHP 中使用。

$collection = Mongo::get()->testdb->sample;
return $collection->find()->toArray();

贡献

我鼓励您为此包做出贡献,以改进它并使其变得更好。即使您对编码或提交拉取请求(PR)感到不舒服,您也可以通过提交有关错误的报告或请求新功能来支持它,或者简单帮助讨论现有问题,以给我们您的意见并塑造此包的进度。

阅读完整的贡献指南

联系

我非常乐意收到您的反馈。我在 YouTube 上运营 DevMarketer 频道,我们讨论如何 "构建并增长您的下一个伟大想法",请订阅并查看视频。

我总是在 Twitter 上,这是一种与我或关注我的好方法。 在 Twitter 上查看我

您也可以通过 hello@jacurtis.com 发送电子邮件,以提出任何其他请求。