MongoDB data load

 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
37
from django.core.management.base import BaseCommand, CommandError
from django.conf import settings

from optparse import make_option
from bson.json_util import loads
from pymongo import MongoClient
from os.path import splitext


class Command(BaseCommand):
    option_list = BaseCommand.option_list + (
        make_option('--collection', '-c',
                    dest='collection',
                    help='MongoDB collection where the data will be loaded.'),
    )

    help = "Loads data from files into the MongoDB database.\n\n" \
           "Usage: manage.py mongo_load FILE"

    def handle(self, *args, **options):
        if not args:
            raise CommandError('No data filename provided.')

        collection = options.get('collection')

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

        if not collection:
            name = splitext(args[0])[0]
            items = db[name]
        else:
            items = db[collection]

        with open(args[0], 'r') as f:
            for line in f:
                items.insert(loads(line))

More like this

  1. MongoDB data dump by jose_lpa 4 months, 3 weeks ago
  2. Tastypie MongoDB Resource by fatiherikli 7 months, 3 weeks ago
  3. dumpdata/loaddata with MySQL and ForeignKeys, as django command by brondsem 4 years, 1 month ago
  4. dumpdata/loaddata with MySQL and ForeignKeys by cmgreen 5 years, 4 months ago
  5. dumpdata/loaddata with MySQL and ForeignKeys (Revision 2) by cmgreen 5 years, 2 months ago

Comments

(Forgotten your password?)