2011-01-13 3 views
13

J'ai 500 000 documents dans une collection sur un serveur de transfert, j'ai besoin de déplacer ces documents vers le serveur de production.Déplacer les données MongoDB du serveur de transfert vers la production

Quelle est la meilleure façon de déplacer ces données, puis-je laisser mongodb le répliquer de la mise en scène à la production, dois-je déplacer les fichiers de données ou est-ce que je fais une exportation et une réimportation?

Répondre

9

Jetez un coup d'œil aux outils mongodump et mongorestore. Si vous ne voulez que certains documents de la collection, vous pouvez utiliser le paramètre --query.

+1

» ./mongodump Blog --db --collection posts' le tour est joué – Tom

-1

Les fichiers de données ne sont pas par collection, donc ce n'est pas si vous voulez copier une collection pas un db complet. Si c'est par DB, vous pouvez copier les fichiers de base de données très bien. Je ne suis pas sûr 32 bits vs 64 bits ... mais je suppose que vous êtes 64 bits si vous exécutez MongoDB.

Maintenant, si la collection existe sur les deux et a besoin de fusionner, veillez à conserver _id unique. mongoimport/mongoexport est votre ami.

13
  • Pour vider une collection faire

    mongodump -d nom_bdd -c collectionname

    Sur une machine Windows, cela va créer un dossier de vidage sous le dossier 'data' mongo avec BSON fichiers

  • Pour restaurer sur un hôte distant

    nom d'hôte mongorestore -h -d nom_bdd -c collectionname vider \ nom_base \ collectionname.bson

0

est simple.

Dans le serveur de destination> shell mongo> run

db.copyDatabase(source_db_name, destination_db_name, source_hostname, username, password) 
Questions connexes