MongoDB data dump

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from django.core.management.base import BaseCommand, CommandError
from django.conf import settings

from optparse import make_option
from bson.json_util import dumps
from pymongo import MongoClient


class Command(BaseCommand):
    option_list = BaseCommand.option_list + (
        make_option('--filename', '-f',
                    dest='filename',
                    help='Sets the name of the dumped data file.'),
    )

    help = "Dumps data (in JSON) from the MongoDB database.\n\n" \
           "Usage: manage.py mongo_dump MODEL"

    def handle(self, *args, **options):
        if not args:
            raise CommandError('Please specify a model in Mongo database to '
                               'dump its existent data.')

        filename = options.get('filename')

        connection = MongoClient()
        db = connection[settings.MONGODB_NAME]

        collection = db[args[0]]

        if not filename:
            filename = args[0] + '.json'

        with open(filename, 'w') as f:
            for doc in collection.find():
                f.write(dumps(doc) + '\n')

More like this

  1. MongoDB data load by jose_lpa 4 months, 2 weeks ago
  2. Tastypie MongoDB Resource by fatiherikli 7 months, 2 weeks ago
  3. dump_app_data: dumps application data to the application's fixtures directory by wolever 1 year, 9 months ago
  4. JSON fixtures of Intl. country codes & dial-codes by dibau_naum_h 2 years, 9 months ago
  5. CSV to JSON Fixture by briangershon 3 years, 9 months ago

Comments

(Forgotten your password?)