mongodb-user
[Arriba] [Todas las Listas]

Re: [mongodb-Usuario] un-gorra una colección

To: mongodb-user <mongodb-user@xxxxxxxxxxxxxxxx>
Subject: Re: [mongodb-Usuario] un-gorra una colección
From: Wan Bachtiar <wan.bachtiar@xxxxxxxxxxx>
Date: Thu, 24 Sep 2015 01:04:16 -0700 (PDT)
Delivery-date: Thu, 24 Sep 2015 04:16:06 -0400
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20120806; h=date:from:to:message-id:in-reply-to:references:subject:mime-version :content-type:x-original-sender:reply-to:precedence:mailing-list :list-id:x-spam-checked-in-group:list-post:list-help:list-archive :sender:list-subscribe:list-unsubscribe; bh=lzizOG66sIG253QGi3iZf+Ci4GvEPm/G7RAcyPXgaTc=; b=IVbSf0hYLbbWMCa2/+bz1nfJXZCuherYPG7sPyqnWyeEi2s3FX5BYvATCoDoGQK/wM yj3SJXnK+EmU+ENSaF0JX2vOv2dxYs4XM10FMbzP6AHC3epkmvFZpnal94gxQJL+wZJO LTDljClMBzBzfgS+YrYfWwqtaRj+TcwXWTs/k35ivWf0sBVvlD2bTV08tDM6DnwIA1CH MDGcDIhGjU7DLbKdj50U3XSLQltxf81ca1W8FRj5bvZsN/9WvgECM2bdEhjvhxMYyGof ViUnX3GOYS6CByDgW2VPYW9yo5wje7Zqwb593r2oyl3D+T9PM4JdPkD5t4mlZS/cB3U0 vsvQ==
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mongodb.com; s=google; h=date:from:to:message-id:in-reply-to:references:subject:mime-version :content-type:x-original-sender:reply-to:precedence:mailing-list :list-id:x-spam-checked-in-group:list-post:list-help:list-archive :sender:list-subscribe:list-unsubscribe; bh=lzizOG66sIG253QGi3iZf+Ci4GvEPm/G7RAcyPXgaTc=; b=Hcfd/tc3K+4tkt4APhiz0Q7fwehu/JhwFPmJBvduZ/Lekttdy717kJ4az6DeJlChly +8ySk0MxSZSTME8ytJALUgviWyBYC3oTkHbc5hlQonLugh65d7kwh+epl1Fy+nq2nWye hILUx+nZA51KW1GiHyC6ny4X3wFvrF5rCU0JM=
Envelope-to: traductor@xxxxxxxxxxx
In-reply-to: <19018aee-7668-4f1c-91ff-c7b396a421bd@googlegroups.com>
List-archive: <http://groups.google.com/group/mongodb-use>
List-help: <http://groups.google.com/support/>, <mailto:mongodb-user+help@googlegroups.com>
List-id: <mongodb-user.googlegroups.com>
List-post: <http://groups.google.com/group/mongodb-user/post>, <mailto:mongodb-user@googlegroups.com>
List-subscribe: <http://groups.google.com/group/mongodb-user/subscribe>, <mailto:mongodb-user+subscribe@googlegroups.com>
List-unsubscribe: <mailto:googlegroups-manage+1044811755470+unsubscribe@googlegroups.com>, <http://groups.google.com/group/mongodb-user/subscribe>
Mailing-list: list mongodb-user@xxxxxxxxxxxxxxxx; contact mongodb-user+owners@xxxxxxxxxxxxxxxx
References: <5f547dcd-9cd7-439d-b612-1a02ebf73662@googlegroups.com> <CAHX05qHrj-wNyr6kRC5uMnaPAiY5yCwnE2u+goCcq38HkSLyVA@mail.gmail.com> <d13acf99-43c1-4b7f-9f45-73b133dead5a@googlegroups.com> <CAHX05qHfuBo+eXOKvHDZcKO5Pmsvzb-GyXpVGdB5ZpCBViWe2g@mail.gmail.com> <b7e79313-2a88-42e1-a5e0-5523d6959ca6@googlegroups.com> <CAHX05qFoWa1wgayrXjr33hD4LfxGL3VDGDL8Yg2XzH6Ui2efVA@mail.gmail.com> <d34b3187-3a5a-49cd-8a90-f3100150bb2c@googlegroups.com> <CAHX05qGZcvvhPiG_Nx9i0zuredDAtpYOOTd8jZ=Zdjf9ENCdwQ@mail.gmail.com> <19018aee-7668-4f1c-91ff-c7b396a421bd@googlegroups.com>
Reply-to: mongodb-user@xxxxxxxxxxxxxxxx
Sender: mongodb-user@xxxxxxxxxxxxxxxx

*Hi *Mick, 

puedes *un-gorra un *capped colección con el siguiendo pasos: 

   1. Copia el *capped colección a una colección provisional. 
   2. Gota el *capped colección. 
   3. Rebautizar la colección provisional al nombre original del *capped 
   colección. 


El *copyDatabase trabajos, pero el nuevamente creado *database todavía tiene el *capped 
= Cierto.

El *capped el estado es parte de las opciones de colección. Por tanto, copiando el 
entero *database no sacará el *capped opción de una colección.

Abajo es un *C++ ejemplo de código que utiliza la corriente *MongoDB *C++ conductor 
<*https://*github.*com/*mongodb/*mongo-*cxx-Conductor> que ejecuta los pasos 
listados encima:

#incluye "*mongo/cliente/*dbclient.*h"
*int Principal()

  /* #unknown{^*Initialize Conductor */
  *mongo::estado de Estado = *mongo::cliente::*initialize();
  si (!Estado.*isOK())
    #unknown{^*std::*cout<< "Fallado a *initialize conductor." << *std::*endl;
    FRACASO  de SALIDA_del regreso;
  }

  /* Establece *db conexión */
  *mongo::*DBClientConnection *c;
  prueba
    #unknown{^*c.Conecta("*localhost");
  } coge( *const *mongo::*DBException &*e )
    #unknown{^*std::*cout << "cogió " << *e.Qué() << *std::*endl;
  }

  /* El *database el nombre es '*capped' y el *capped nombre de colección es 'prueba',
     utilizando una colección provisional en el mismo *database con un nombre '*temp'.
  */
  *const *std::Cadena *CAPPED_*COLL = "*capped.Prueba";
  *const *std::cadena *UNCAPPED_*COLL = "*capped.*temp";

  /* Colección de copia de *capped a *uncapped colección */
  *std::coche_*ptr<*mongo::*DBClientCursor> *cursor = *c.Consulta(*CAPPED_*COLL, *mongo::*BSONObj());
  mientras(*cursor->más())
    #unknown{^*mongo::*BSONObj *p = *cursor->próximo();
    *c.Inserta(*UNCAPPED_*COLL, *p);
  }

  /* Gota *capped colección, y rebautizar *uncapped a *capped colección */
  *mongo::*BSONObj resultado;
  *c.*runCommand("*admin",
               *BSON("*renameCollection"<<*UNCAPPED_*COLL
                    <<"a *CAPPED_*COLL"<<
                    <<"*dropTarget"<<cierto), 
                resultado);

  *std::*cout<< "Completó" <<*std::*endl;
  ÉXITO de SALIDA_del regreso;
}

Consideraciones Amables, 

*Wan.
​

-- 
Recibiste este mensaje porque eres *subscribed al *Google Grupos "*mongodb-grupo"
de usuario.

Para otro *MongoDB opciones de apoyo técnico, ve: *http://www.mongodb.org/sobre/apoyo/.
--- 
Recibiste este mensaje porque eres *subscribed al *Google Grupos "*mongodb-grupo" de usuario.
A *unsubscribe de este grupo y la parón que recibe *emails de él, enviar un *email a *mongodb-usuario+unsubscribe@xxxxxxxxxxxxxxxx.
A correo a este grupo, envía *email a *mongodb-user@xxxxxxxxxxxxxxxx.
Visita este grupo en *http://grupos.*google.*com/Grupo/*mongodb-usuario.
Para ver esta discusión en la visita de web *https://grupos.*google.*com/*d/*msgid/*mongodb-Usuario/*ee6488*bf-#uno852-4823-9886-15*b811#uno7*dc06%40*googlegroups.*com.
Para más opciones, visita *https://grupos.*google.*com/*d/*optout.

Hi Mick, 

You can un-cap a capped collection with the following steps: 

   1. Copy the capped collection to a temporary collection. 
   2. Drop the capped collection. 
   3. Rename the temporary collection to the original name of the capped 
   collection. 


the copyDatabase works, but the newly created database still has the capped 
= True.

The capped status is part of the collection options. Therefore, copying the 
whole database will not remove the capped option of a collection.

Below is a C++ code example using the current MongoDB C++ driver 
<https://github.com/mongodb/mongo-cxx-driver> that executes the steps 
listed above:

#include "mongo/client/dbclient.h"
int main() {

  /* Initialize Driver */
  mongo::Status status = mongo::client::initialize();
  if (!status.isOK()){
    std::cout<< "Failed to initialize driver." << std::endl;
    return  EXIT_FAILURE;
  }

  /* Establish db connection */
  mongo::DBClientConnection c;
  try {
    c.connect("localhost");
  } catch( const mongo::DBException &e ) {
    std::cout << "caught " << e.what() << std::endl;
  }

  /* The database name is 'capped' and the capped collection name is 'test',
     using a temporary collection in the same database with a name 'temp'.
  */
  const std::string CAPPED_COLL = "capped.test";
  const std::string UNCAPPED_COLL = "capped.temp";

  /* Copy collection from capped to uncapped collection */
  std::auto_ptr<mongo::DBClientCursor> cursor = c.query(CAPPED_COLL, mongo::BSONObj());
  while(cursor->more()){
    mongo::BSONObj p = cursor->next();
    c.insert(UNCAPPED_COLL, p);
  }

  /* Drop capped collection, and rename uncapped to capped collection */
  mongo::BSONObj result;
  c.runCommand("admin",
               BSON("renameCollection"<<UNCAPPED_COLL
                    <<"to"<<CAPPED_COLL
                    <<"dropTarget"<<true), 
                result);

  std::cout<< "Completed" <<std::endl;
  return EXIT_SUCCESS;
}

Kind Regards, 

Wan.
​

-- 
You received this message because you are subscribed to the Google Groups "mongodb-user"
group.

For other MongoDB technical support options, see: http://www.mongodb.org/about/support/.
--- 
You received this message because you are subscribed to the Google Groups "mongodb-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mongodb-user+unsubscribe@xxxxxxxxxxxxxxxx.
To post to this group, send email to mongodb-user@xxxxxxxxxxxxxxxx.
Visit this group at http://groups.google.com/group/mongodb-user.
To view this discussion on the web visit https://groups.google.com/d/msgid/mongodb-user/ee6488bf-a852-4823-9886-15b811a7dc06%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
<Anterior por Tema] Tema Actual [Siguiente por Tema>