Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

892
Views
Laravel - Mongodb [jenssegers/laravel-mongodb] - Generador de esquemas

Tengo una aplicación web con mongodb, usando el paquete jenssegers.

Como estoy usando mongodb, ¿necesito crear alguna tabla de migración? El controlador de la base de datos de Jenssegers también tiene compatibilidad (limitada) con el generador de esquemas

 Schema::create('users', function($collection) { $collection->index('name'); $collection->unique('email'); });

Encontré dos "respuestas" diferentes. Este chico está usando el generador de esquemas

ingrese la descripción de la imagen aquí

Y el Mulkave responde:

P : "Cuando ejecuto el comando 'php migrar artesanalmente', aparece el siguiente error en el que se crea una tabla de migración en la base de datos mongodb:"

R : " Es posible que haya malinterpretado el propósito de que MongoDB sea una base de datos de documentos, no necesita tener migraciones en bases de datos basadas en documentos y esto es lo que son buenos . Tienen esquemas dinámicos, así que todo lo que tendrá que hacer es guardar su modelo independientemente de los atributos que tenga, lo que significa que tendrá que ajustar la lógica comercial de su aplicación para asegurarse de que los modelos se guarden como esperaba".


Entonces, ¿necesito la tabla de migraciones? ¡Gracias!

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Sé que esto es un poco tarde, pero pensé en incluir un poco de código aquí. Me gusta tener un modelo indexado por dos razones:

  1. Puedo usarlo como una interfaz, es decir, estoy obligado a ingresar esta información porque es parte de lo que requiere el modelo. Esto asegura que tengo un conjunto de datos limpio. Esto es solo preferencia, no es un requisito.
  2. Las búsquedas indexadas son más rápidas que cuando no son indexadas. No he investigado lo suficiente sobre esto para averiguar si este es el caso con la biblioteca jenssegers . Pero tiene sentido para mí que, si usa un esquema para configurar una colección y configurarlo para indexar estos campos, sería más rápido al buscar registros dentro de esta colección. También puede configurar esto manualmente desde el lado de Mongo, pero me gusta que pueda hacerlo con esta extensión de Eloquent.

Entonces, para la persona que lee esto, si lo convencí con este argumento no verificado y desea configurar un esquema, descubrí que es fácil configurar la colección pero no es fácil descartarla. Si desea realizar una migración completa ( tenga en cuenta que perderá todos sus datos cuando haga esto ), puede usar el siguiente código:

 <?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateYourCollectionTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::connection('mongodb')->create('collection_name', function ($collection) { $collection->index('field_1'); $collection->index('field_2'); }); } /** * Reverse the migrations. * * @return void */ public function down() { DB::connection('mongodb')->drop(['collection_name']); } }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!