monteecristoo’s blog

https://twitter.com/irakaarozo

mongoDB

MongoDB with PHP: nest されたキーバリューの削除

updated: 2018/10/23 環境: Laravel 5.7.6 PHP7 特定のコレクション内のcomments array の特定の _id をもつバリューを削除したい。 $db = (new MongoDB\Client)->YOUR_DB; $collection = $db->YOUR_COLLECTION; $pid は削除したい pixieImage collection …

jenssegers/laravel-mongodb Basic Usage on cloud9 with php7 ⑩ 特定のcollectionのネストされたキーの値を取得する

mysql の select XX に当たるのが mongoDB では projection 'user_id' => 1 は true という意味 参考: github.com jenssegers/laravel-mongodb を使わないで mongoDB php driver を使うなら 参考: MongoDB\Collection::findOne() — PHP Library Manual 1.4…

MongoDB PHP driver

新しい ObjectId を作る @mongo shell ObjectId(); @php new MongoDB/BSON/ObjectId; PHP側でnamespaceを使っていたら… use MongoDB\BSON\ObjectID; new ObjectID; 参考: BSON — PHP Library Manual 1.4 PHP: MongoDB\BSON\ObjectId - Manual //

Laravel 5.x Factory と Faker で relational なモックアップを作る。

jenssegers/mongodb の mysql relationships で使用可能なことが確認済み php artisan make:factory FACTORY_NAME factory1 factory2 seeds/DatabaseSeeder.php php artisan db:seed これでfaker モックアップ + user と pixieImage のrelationship に整合性…

jenssegers/laravel-mongodb Basic Usage on cloud9 with php7 ⑨ Mysql relationships で mongoDB と mysql 上のデータを合わせて返す。

updated: 2018/10/1 Mysql relationships については下記参照 monteecristoo.hatenablog.com mongoDBとMysqlをjoin して返したい場合、mongoDBはjoinに対応していないので、 PixieImage は mongoDB上のデータベース user はmysql のデータベース さらにこれ…

jenssegers/laravel-mongodb Installation on php7.2 cloud9

Updated: 2018/9/27 php7.2 を cloud9 にインストール monteecristoo.hatenablog.com MongoDB のインストール monteecristoo.hatenablog.com PHP 用の MongoDB ドライバーをインストール PHP: Installing the MongoDB PHP Driver with PECL - Manual sudo pe…

php の mongodb ドライバーをインストールしようとしたらエラーが発生した cloud9

環境: php7.2 cloud9(ubuntu14.0.4) cloud9 で php5 から php7 にアップデート済み MongoDB ver 4.0.2 sudo pecl mongodb => Parse error: syntax error, unexpected 'new' (T_NEW) in /usr/share/php/PEAR/Frontend.php on line 91 solution: sudo apt-g…

jenssegers/laravel-mongodb Basic Usage on cloud9 with php7⑧ sample case

// App\User ===> App\MongoMessage Mysql Relationships App\MessageGroup ===> App\MongoMessage hasMany Relationships App\User public function mongoMessages() { return $this->hasMany(MongoMessage::class); } App\MessageGroup public function mo…

jenssegers/laravel-mongodb Basic Usage on cloud9 with php7⑦ convert mongoDB to Mysql

// setting up Mysql Relationships create the route and controller fetch the data from mongoDB extract the value from the response(3) fetch the data from Mysql using the value(4) return the response 1. @app\user use Jenssegers\Mongodb\Eloqu…

jenssegers/laravel-mongodb Basic Usage on cloud9 with php7⑥ Mysql relationships test

// App\User >>>> Mysql based Database use Jenssegers\Mongodb\Eloquent\HybridRelations; use App\MongoMessage; class User extends Authenticatable { use HybridRelations; use MongoMessage; public function mongoMessages() { return $this->hasMan…

jenssegers/laravel-mongodb Basic Usage on cloud9 with php7⑤ EmbedsMany relationships test

// tinker $mongoUser = new MongoUser(['id' => 1, 'name' => 'Max']); $mongoMessage = new MongoMessage(['id' => 1, 'group' => '1', 'body' => 'Something', 'sender' => 'max', 'receiver' => 'Monica']); $mongoMessage = $mongoUser->mongoMessages(…

jenssegers/laravel-mongodb Basic Usage on cloud9 with php7④

// App/MongoUser namespace App; use Moloquent; use MongoMessage; class MongoUser extends Moloquent{ protected $connection = 'mongodb'; protected $collection = 'mongoUsers'; public function mongoMessages() { return $this->embedsMany('MongoM…

jenssegers/laravel-mongodb Basic Usage on cloud9 with php7③ 導入するメリット

// updated: 2018/3/6 jenssegers/laravel-mongodb を導入するメリット MySQL Relations If you're using a hybrid MongoDB and SQL setup, you're in luck! The model will automatically return a MongoDB- or SQL-relation based on the type of the rela…

Error: In Database.php line 198: No suitable servers found ('serverSelectionTryOnce' set) : [connection refused calling ismaster on '127.0.0.1:27017']

updated: 2018 9/26 Error: In Database.php line 198: No suitable servers found ('serverSelectionTryOnce' set) : [connection refused calling ismaster on '127.0.0.1:27017'] mongoDB と mysql を使った multiple Database 環境で php artisan migrat…

jenssegers/laravel-mongodb Basic Usage on cloud9 with php7② migration file による validation

// updated: 2018/1/17 public function up() { Schema::connection('mongodb')->create('group_messages', function (Blueprint $collection) { $collection->increments('id'); $collection->timestamps(); $collection->string('body');〇 $collection->u…

mongoDB basic usage

// updated: 2018/10/2 以下 mongo shell 上で > db // show databases > use DB_NAME // change current database > db.testMongo.insertOne( { body: "test mongo operation", id: 1 } ) // create testMongo collection and insert a document > show col…

jenssegers/laravel-mongodb Basic Usage on cloud9 with php7 ①

// updated 2018/1/5 Installation monteecristoo.hatenablog.com monteecristoo.hatenablog.com Laravel Configuration @config\app.php add the service provider Jenssegers\Mongodb\MongodbServiceProvider::class, @config/database.php 'mongodb' => […

jenssegers/laravel-mongodb installation PHP7.1 on cloud9

updated: 2018/9/25 jenssegers/laravel-mongodb installation PHP7.1 on cloud9 updated: 2017/12/14 下記に従ってmongoDBをインストール。 monteecristoo.hatenablog.com composer require jenssegers/mongodb → error: Problem 1 - jenssegers/mongodb v3…

mongoDB installation on a cloud9 workspace

// 環境:PHP7 Laravel5.4 mongoDB 公式Doc の Install MongoDB Community Edition on Ubuntu に従う。 1 Import the public key used by the package management system. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A…

mongoDB uninstall

// mongoDB unistall To completely remove MongoDB from a system, you must remove the MongoDB applications themselves, the configuration files, and any directories containing data and logs. The following section guides you through the necess…

jenssegers/laravel-mongodb installation PHP7.1 on cloud9 未解決

// updated: 2018/9/25 *エラーでworkspaceにアクセスできなくなることがあるのでworkspaceをクローンして実行 mongodbのsetup $ sudo pecl install mongodb → error Warning: Invalid argument supplied for foreach() in Command.php on line 249 Warning…