mongoDB
環境: mongoDB を private subnet に設置 adminMongo を public subnet に設置 github.com @public subnet App instance cd projectDirectory git clone https://github.com/mrvautin/adminMongo.git && cd adminMongo cd adminMongo adminMongo/config/app…
環境: mongoDB@4.2 から @6.0.6 にアップグレード error: This version of MongoDB is too recent to start up on the existing data files. Try MongoDB 4.2 or earlier solution: root ディレクトリの data フォルダを削除して再度dataフォルダを設置 ref…
環境: Laravel@9.52.4 jenssegers/laravel-mongodb@3.9.5 $Posts = Post::raw(function($collection) { return $collection->aggregate([ ['$sample' => ['size' => 5]], ['$project' => ['title' => 1, 'body' => 1]] ]);}); ref: www.codegrepper.com gith…
>>> 頻繁に検索するならフラットに、そうでなくてかつデータの関連性を維持したいならネストもあり。 >>> 検索対象が小規模ならメンテナンスのことを考えてアプリケーション側の処理のしやすさを優先させてもいいかも。
環境: laravel@8.83.23 jensseger/laravel-mongodb@3.8.0 Model Structure Profile: { roles: [’admin’] } $profile = App\Profile::find(1); $profile->roles = array_push($profile->roles, 'superAdmin') >>> error: Indirect modification of overloade…
環境: laravel@8.79.0 Jenssegers/mongodb@3.8.4 サーチ対象の model 構造は以下とする Order { _id: ********, shippingStatus: [ "status" => "発送完了", "shippingMethod" => "クロネコヤマト", "inquiryNumber" => "11111111" ] } Order model から shi…
環境: Laravel@8.79.0 Jenssegers/mongodb@3.8.4 前提: 親モデル >>> User.php MySQL子モデル >>> Post.php MongoDB子モデル >>> ProfileDetail.php case MySQL soft-delete に対応させる migration file に以下を加筆 Schema::create('users', function B…
環境 Laravel@8.79.0 Jenssegers/mongodb@3.8.4 migration をしなくても ORM から query することで DB に table を作成することができるが、 migration file を作って DB table を定義したい場合、 php artisan make:migration create_MONGO_TABLE_MODEL_ta…
環境 Laravel@8.79.0 Jenssegers/mongodb@3.8.4 php artisan tinker >>> @tinker session // Delete a table Schema::connection('mongodb')->drop('TABLE_NAME') // Delete items DB::connection('mongodb')->table('TABLE_NAME')->truncate() ref: stackov…
Updated: 2023/3/7 環境: App server と mongoDB 設置 server は同一VCN内にあり、App server は public subnet, mongoDB は private subnet 内に設置。 OSはともにubuntu@20.04 mongoDB@5.0.3 Public Subnet の Security Group Egress 宛先:Private Subnet…
PHPをUpgrade sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install libapache2-mod-php8.0 sudo a2dismod php7.2 sudo a2enmod php8.0 sudo apt-get install php8.0-dom php8.0-mbstring php8.0-zip php8.0-mysql php8.0-comm…
laravel@7.28.4 jensseger/laravel-mongodb@3.7.3 $result = myModel::raw(function($collection){ return $collection->aggregate([ ['$sample' => ['size' => 3]] ]); }) ref: github.com docs.mongodb.com stackoverflow.com
updated: 2022/3/29 環境: laravel@7.28.4 mongodb-php-driver@1.7 jensseger/laravel-mongodb@3.7.0 編集したいprofielDetail model のstructureは下記とする。 Userモデルは一つのProfileDetailモデル(hasOne)を持つ。 hasOneModel では protected $filla…
環境: jensseger/laravel-mongodb@3.7.0 Moloquentを使用したmodelは、DB上にはデフォルトの設定ではMongoDB\BSON\UTCDatetimeで保管されている。 しかしキーにアクセスすると… ↑ timezoneがAsia/Tokyoで返るのはlaravelのconfig/app.phpでtimezone, locale…
環境: php@7.2 laravel@6.18.35 mongodb@4.0.1 ext-mongodb@1.6 jenssegers / laravel-mongodb が laravel7.x に対応するようになったのでそれへの対応について。 composer.json のlaravel の dependency だけ書き換えて composer update するとエラー が出…
embedsMany: 子供側の model は mongoDB 内に collection が作成されず親の collection 内にデータがネストされる。 _id は自動で付与される。 親: order 子: orderImage $order = App\Order::where("user_id", 42)->first() $order->orderImages()->create(…
Updated 2023_06_05 既存のAWS cloud9 上の Laravel + MongoDB App に adminMongo を導入 https://github.com/mrvautin/adminMongo プロジェクトのルートディレクトリで npm install admin-mongo adminMongo 用のサーバーを準備 /node_modules/admin-mongo …
Laravel@5.8.33 mongoDB@4.0.10 あるEloquent ORMのネストされたデータdetails['description']をアップデートしたい。 $target = App\ModelName::first() $target->details['description'] >>> "test" と返るので直接 $target->details['description'] = "up…
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 …
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…
新しい 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 //
updated: 2021/6/1 jenssegers/mongodb の mysql relationships で使用可能なことが確認済み php artisan make:factory FACTORY_NAME factory1 factory2 seeds/DatabaseSeeder.php おまけ ランダムな文字列を生成 return [ 'randomText' => $faker->regexify…
updated: 2018/10/1 Mysql relationships については下記参照 monteecristoo.hatenablog.com mongoDBとMysqlをjoin して返したい場合、mongoDBはjoinに対応していないので、 PixieImage は mongoDB上のデータベース user はmysql のデータベース さらにこれ…
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…
環境: 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…
// 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…
// 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…
// 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…
// tinker $mongoUser = new MongoUser(['id' => 1, 'name' => 'Max']); $mongoMessage = new MongoMessage(['id' => 1, 'group' => '1', 'body' => 'Something', 'sender' => 'max', 'receiver' => 'Monica']); $mongoMessage = $mongoUser->mongoMessages(…
// 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…