MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Fichiers csv Mongoimport avec chaîne _id et upsert

Malheureusement, il n'existe actuellement aucun moyen de forcer les chaînes de type nombre à être interprétées comme des chaînes :

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

Vous pouvez écrire un script en Python ou dans un autre langage avec lequel vous êtes à l'aise, du type :

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)