MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mongoimport file CSV con stringa _id e upsert

Sfortunatamente ora non c'è un modo per forzare le stringhe simili a numeri da interpretare come stringhe:

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

Potresti scrivere uno script in Python o in qualche altro linguaggio con cui ti senti a tuo agio, sulla falsariga di:

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)