salamtam/mongo-query-php

该软件包最新版本(1.1.2)没有提供许可信息。

用于查询mongodb

安装: 92

依赖项: 0

建议者: 0

安全性: 0

星标: 5

观察者: 2

分支: 0

开放问题: 0

类型:版本控制系统

1.1.2 2017-12-11 02:15 UTC

This package is auto-updated.

Last update: 2024-09-25 06:52:44 UTC


README

从MongoDB查询数据

#使用方法

##初始设置

  1. 安装composer。 curl -s http://getcomposer.org/installer | php

  2. 创建包含以下内容的composer.json文件:

{
    "require" : {
        "salamtam/mongo-query-php" : "^1.0"
    }
}
  1. 运行 ./composer.phar install

  2. 保持更新: ./composer.phar update

##示例 1

通过URL查询

require_once __DIR__ . '/vendor/autoload.php';

use MongoQueryPHP\MongoQueryPHP;

/* set config */
$config = [
  'url' => 'mongodb://:27017',
  'database' => 'test',
  'collection' => 'member'
];

/* set query (filter) */
$filter = [
  'name' => 'salamtam'
];

/* connect database */
$db = new MongoQueryPHP($config);
$db->setDatabase($config['database'])->setCollection($config['collection']);

/* query database */
$cursor = $db->query($filter);

/* result */
foreach ($cursor as $doc) {
  echo json_encode($doc) . PHP_EOL;
  break;
}

##示例 2

使用基本认证查询

require_once __DIR__ . '/vendor/autoload.php';

use MongoQueryPHP\MongoQueryPHP;

/* set config */
$config = [
  'host' => 'localhost',
  'port' => '27017',
  'user' => 'root',
  'pass' => '',
  'database' => 'test',
  'collection' => 'member'
];

/* set query (filter) */
$filter = [
  'name' => 'salamtam'
];

/* connect database */
$db = new MongoQueryPHP($config);
$db->setDatabase($config['database'])->setCollection($config['collection']);

/* query database */
$cursor = $db->query($filter);

/* result */
foreach ($cursor as $doc) {
  echo json_encode($doc) . PHP_EOL;
  break;
}

##示例 3

使用多过滤条件查询

require_once __DIR__ . '/vendor/autoload.php';

use MongoQueryPHP\MongoQueryPHP;

/* set config */
$config = [
  'url' => 'mongodb://:27017',
  'database' => 'test',
  'collection' => 'member'
];

/* set query (filter) */
$filter = json_decode('{"name":"salamtam","created_at":{"$gte":1499533200000}}', true);

/* connect database */
$db = new MongoQueryPHP($config);
$db->setDatabase($config['database'])->setCollection($config['collection']);

/* query database */
$cursor = $db->query($filter);

/* result */
foreach ($cursor as $doc) {
  echo json_encode($doc) . PHP_EOL;
  break;
}

##示例 4

使用多过滤条件和排序查询

require_once __DIR__ . '/vendor/autoload.php';

use MongoQueryPHP\MongoQueryPHP;

/* set config */
$config = [
  'url' => 'mongodb://:27017',
  'database' => 'test',
  'collection' => 'member'
];

/* set query (filter) */
$filter = [
    'name' => 'salamtam',
    'created_at' => [
        '$gte' => 1499533200000,
    ],
];

$sort = [
    'sort' => [
        'created_at' => -1
    ],
];


/* connect database */
$db = new MongoQueryPHP($config);
$db->setDatabase($config['database'])->setCollection($config['collection']);

/* query database */
$cursor = $db->query($filter, $sort);

/* result */
foreach ($cursor as $doc) {
  echo json_encode($doc) . PHP_EOL;
  break;
}

##示例 5

通过URL进行聚合查询

require_once __DIR__ . '/vendor/autoload.php';

use MongoQueryPHP\MongoQueryPHP;

/* set config */
$config = [
  'url' => 'mongodb://:27017',
  'database' => 'test',
  'collection' => 'member'
];

/* set query (filter) */
$filter = [
  '$match' => [
    'name' => 'salamtam'
  ]
];

/* connect database */
$db = new MongoQueryPHP($config);
$db->setDatabase($config['database'])->setCollection($config['collection']);

/* aggregate database */
$cursor = $db->aggregate($filter);

/* result */
foreach ($cursor as $doc) {
  echo json_encode($doc) . PHP_EOL;
  break;
}

##示例 6

使用过滤条件进行聚合查询

require_once __DIR__ . '/vendor/autoload.php';

use MongoQueryPHP\MongoQueryPHP;

/* set config */
$config = [
  'url' => 'mongodb://:27017',
  'database' => 'test',
  'collection' => 'member'
];

/* set query (filter) */
$filter = json_decode('[{"$match":{"name":"salamtam","created_at":{"$gte":1499533200000}}}]', true);

/* connect database */
$db = new MongoQueryPHP($config);
$db->setDatabase($config['database'])->setCollection($config['collection']);

/* aggregate database */
$cursor = $db->aggregate($filter);

/* result */
foreach ($cursor as $doc) {
  echo json_encode($doc) . PHP_EOL;
  break;
}