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请求,我会很高兴听到您的反馈!