exs/silex-simplemongo-provider

Silex2 的简单 MongoDB 提供器

v1.0.0 2016-10-12 15:02 UTC

This package is auto-updated.

Last update: 2024-08-29 04:09:12 UTC


README

一个简单的 Silex 提供器,用于在 php7 上持久化和执行 MongDB 数据库的查询

在 Silex 项目中安装 EXS-silex-simplemongo-provider

打开 composer.json 文件,将 EXS-silex-simplemongo-provider 添加为依赖项

//composer.json
//...
"require": {
        //other bundles
        "exs/silex-simplemongo-provider": "^1.0"

保存文件,并通过命令行使用 composer 更新项目

php composer.phar install

或者您可以直接通过命令行添加

$ composer.phar require exs/silex-simplemongo-provider

更新 app.php 以包含 EXS-silex-simplemongo-provider

//app.php
//...
$app->register(new \EXS\SimpleMongoProvider\Providers\Services\SimpleMongoProvider());

更新您的 config.php 中的 mongodb 连接和环境

//...
$app['mongo.connections'] = array(
    'connection' => 'mongodb://:27017',
    'dbname' => 'DB_NAME'
);
//...

用法

在服务提供器中注册服务

    public function register(Container $container)
    {
        $container[YOUR_SERVICE_NAME] = ( function ($container) {
            return new YOUR_SERVICE(
                $container['exs.serv.mongo']
                );                
        });
    }

在您的服务中

public function __construct(\EXS\SimpleMongoProvider\Services\SimpleMongoService $mongo_service)
{
    $this->mongo_service = $mongo_service;
}
.
.
.

// Insert
$this->mongo_service->persist(YOUR_CLASS_OR_ARRAY);   
$result = $this->mongo_service->flush(COLLECTION_NAME); // the result will store the number of inserted entries or error message
if(!is_int($result) || $result == 0) {
    throwException($result);
}

// Update
$filter = ['product' => 6];
$this->mongo_service->update($filter, YOUR_CLASS_OR_ARRAY);   
$result = $this->mongo_service->flush(COLLECTION_NAME); 
 
// Get data with query
$filter = ['product' => 6];
$option = ['projection' => ['_id' => 0]];

$result = $$this->mongo_service->exeQuery($filter, $option, COLLECTION_NAME);
// $result will contain results in an array

贡献

任何人都可以贡献。

如果您有任何问题或建议,请 告诉我们