Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

894
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda