devmarketer / laramongo
用于Laravel的MongoDB PHP库的包装器。允许在Laravel的Mongo facade下访问Mongo PHP库的原生方法。此包还通过启用原生PHP库不支持Mongo命令来扩展Mongo PHP库,例如地理空间命令。
Requires
- php: >=5.5.0
- mongodb/mongodb: ^1.1
This package is not auto-updated.
Last update: 2024-09-23 06:55:59 UTC
README
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
设置这些设置时请记住以下事项
MONGO_URI
设置可以包含主机名、IP地址或UNIX域套接字。MONGO_URI
的默认值是127.0.0.1
,相当于localhost
。MONGO_PORT
值应该是数字,不要添加冒号来表示端口号,这将在包内自动处理。- 如果您没有为您的MongoDB数据库定义端口号,则可以假设它的默认值是这里设置的
27017
。 - 重要 - 默认情况下,此包尝试进行身份验证。如果您出于某种原因没有使用身份验证(例如在本地环境中),则从您的
.env
文件中省略MONGO_USERNAME
,或将它设置为null
。这会告诉 LaraMongo 您不想进行身份验证。这实际上忽略了MONGO_PASSWORD
和MONGO_AUTH_DB
的值,即使您为它们设置了值。 - 为
MONGO_USERNAME
和MONGO_PASSWORD
设置的值应该是普通的字符串。LaraMongo 包将处理它们到所需的编码。 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 发送电子邮件,以提出任何其他请求。