hexcores / mongo-lite
MongoDB Lite 包
dev-master
2017-02-20 21:05 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- illuminate/support: 5.1.1
Suggests
- illuminate/support: Allows you to use with Laravel or LumenPHP
This package is auto-updated.
Last update: 2024-09-15 14:59:06 UTC
README
Mongo Lite PHP 是一个为 PHP 提供的 mongodb lite 包。
安装
您可以通过 Composer 安装库
将以下内容添加到 composer.json 文件中...
{ "require": { "hexcores/mongo-lite": "dev-master" } }
或者
通过终端安装
$ composer require 'hexcores/mongo-lite:dev-master'
用法
首先,您需要配置 Mongodb 连接。
$host = 'localhost'; $port = 27017; $database = 'mongo_lite'; Hexcores\MongoLite\Connection::connect($host, $port, $database);
现在我们可以使用 Mongo Lite。
$connection = \Hexcores\MongoLite\Connection::instance($name); $userCollection = new \Hexcores\MongoLite\Query($connection->collection('users')); // or simply $userCollection = mongo_lite('users');
使用 MongoLite 进行 CRUD 操作
创建新记录
"created_at"
和 "updated_at"
字段将被 mongo_lite
自动填充。
$user = ['name' => 'Nyan', 'email' => 'nyan@example.com']; $userCollection = mongo_lite('users'); $userCollection->insert($user); // or simply mongo_lite_insert('users', $user);
更新记录
mongo_lite
将自动更新 updated_at
时间。
$updateName = ['name' => 'Lynn']; $query = ['email' => 'nyan@exmapl.com']; $userCollection = mongo_lite('users'); $userCollection->update($query, $updateName); // or simply mongo_lite_update('users', $query, $updateName);
删除记录
$query = ['email' => 'nyan@exmapl.com']; $userCollection = mongo_lite('users'); $userCollection->delete($query); // or simply mongo_lite_delete('users', $query);
从数据库中查找记录
从集合中查找所有用户。
$users = mongo_lite('users')->all(); if ( count($users) > 0) { foreach ( $users as $user) { echo $user->name . '<br>'; } }
从数据库中查找单个记录。
// Find user by mongo id string $user = mongo_lite('users')->first('5579227f8e973cdf148b4567'); // Find user by MongoId instance $user = mongo_lite('users')->first(new MongoId('5579227f8e973cdf148b4567')); // Find user by email $user = mongo_lite('users')->first(['email' => 'nyan@example.com']); echo $user->name;
MongoDB 的增量和减量
// Increment value 1 to page view field where 'slug' is equal 'about' $page->increment(['slug' => 'about'], 'views'); // Increment value 5 to page view field where 'slug' is equal 'about' $page->increment(['slug' => 'about'], 'views', 5); // Decrement value 1 to page view field where 'slug' is equal 'about' $page->increment(['slug' => 'about'], 'views', -1); // DEcrement value 5 to page view field where 'slug' is equal 'about' $page->increment(['slug' => 'about'], 'views', -5);
在 Laravel 和 LumenPHP 中使用
MongoLite 已经为 Laravel 和 LumenPHP 框架提供了 ServiceProvider
。
// Add ServiceProvider in 'config\app.php' Hexcores\MongoLite\Laravel\MongoLiteServiceProvider