pmc/mongostorage

该包已被弃用且不再维护。未建议替代包。

一个简化MongoDB操作的包装器

此包尚未发布版本,可用的信息很少。


README

这不是什么!

不寻常的是,我将首先说明MongoStorage不是什么...

不是ODM或任何类型的自动对象映射器,也不是在您的应用程序和MongoDB之间添加抽象层的意图。就我个人而言,我不喜欢ODM和ORM,更愿意在应用程序中对数据库访问保持更紧密的控制。

这是什么?

MongoStorage是一系列抽象类和接口的集合,它围绕PHP mongodb驱动程序提供了一个简单的包装器,让您能够快速在应用程序中使用mongodb。它提供了一个将mongo文档映射到您模型的接口,但您仍然需要自己编写实际的映射!

它分为三部分,iMongoStorable接口、ResultSet和StorageHelper。下面将详细说明每个部分,但要获得完整的信息,请阅读源代码并查看示例

Pmc\MongoStorage\iMongoStorable

该接口定义了三个方法:fromMongo()、toMongo()和getId(),您将在模型中实现这些方法,以提供将它们转换为可以存储在mongodb中的数组的方法。

Pmc\MongoStorage\ResultSet

您需要为每种模型提供一个扩展该抽象类的具体ResultSet类。然而,所需的最少代码是单个一行的"getModel()"方法。

基本类实现了Iterator和Countable接口,因此您可以直接使用结果集与foreach()和count()一起使用。它还提供了基本的分页功能。

Pmc\MongoStorage\Helper

另一个抽象类,您可以通过它来编写数据库查询。通常,您将不再从查询返回MongoCursor结果,而是返回您创建的适当ResultSet。

安装

最快捷的安装方法是使用composer。只需将其添加到composer.json文件中的"require"部分。例如。

"require": {
    ...
    "pmc/mongostorage": "dev-master",
    ...
}

联系

如果您发现这个工具有用,或者您有任何改进的想法或pull请求,我会很高兴听到您的反馈!