sql >> Base de Datos >  >> NoSQL >> MongoDB

Mongoimportar archivos csv con cadena _id y upsert

Desafortunadamente, ahora no hay una forma de forzar que las cadenas similares a números se interpreten como cadenas:

https://jira.mongodb.org/browse/SERVER-3731

Podría escribir un script en Python o en algún otro lenguaje con el que se sienta cómodo, como:

import csv, pymongo

connection = pymongo.Connection()
collection = connection.mydatabase.mycollection
reader = csv.DictReader(open('myfile.csv'))
for line in reader:
    print '_id', line['_id']
    upsert_fields = {
        '_id': line['_id'],
        'my_other_upsert_field': line['my_other_upsert_field']}

    collection.update(upsert_fields, line, upsert=True, safe=True)