2012-03-30 20 views
1

Wie kann ich eine Sammlung in mongodb sharding umbenennen? Weil ich in meinem Produktionsserver versucht habe, den folgenden Fehler nur für Ihre Referenzen geworfen.MongoDB Sammlung in Sharding umbenennen

Meine Anforderung müssen wir einige weitere Felder mit Wert für bestehende Sammlung hinzufügen. Aber in der Produktion können wir die verkehrsbasierte Sammlung nicht unterbrechen und jede Anfrage kommt gleichzeitig vom Mitglied. Daher haben wir geplant, die gesamten Datensätze von sql bis mongo in einer anderen Sammlung aufzufüllen und dann die Sammlung umzubenennen und als Produktion zu erstellen. es ist unser Plan. Aber wir können es nicht weiter bringen. Folgender Fehler haben wir verstanden.

db.clientdetails.renameCollection("clientdetails_bkup"); { 
      "assertion" : "You can't rename a sharded collection", 
      "assertionCode" : 13138, 
      "errmsg" : "db assertion failure", 
      "ok" : 0 } 

Wenn nicht möglich in mongodb sharding, bitte teilen Sie Ihren Vorschlag oder alternative Möglichkeit, wir können dieses Problem zu lösen.

Bitte schlagen Sie vor, was wir weiter bringen müssen.

+1

Für den Anfang, gehen Sie und akzeptieren Sie einige vorherige Antworten :) –

+1

In der Tat. Ich werde mich nicht darum kümmern, das zu beantworten. –

+0

Verlangsamt es Ihre Datenbank zu sehr, um der vorhandenen Sammlung Werte hinzuzufügen? Ist das etwas, das du getestet hast, oder hast du nur Angst, dass es zu viel wird? – Ben

Antwort

1

Es gibt keine Möglichkeit, eine gesammelte Sammlung umzubenennen.

Sie können alle Dokumente in eine neue Sammlung kopieren.

Oder erstellen Sie mehrere Sammlungen basierend auf einem Wochen-/Zeitraumdatum, und verwenden Sie als den aktuellen. Dann verwende deine Anwendung immer die aktuelle nach Namen und ändere den Namen bei jeder Periodenpause.

Verwandte Themen