MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Arquivos csv do Mongoimport com string _id e upsert


Infelizmente, agora não há uma maneira de forçar strings semelhantes a números a serem interpretadas como strings:

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

Você pode escrever um script em Python ou alguma outra linguagem com a qual se sinta confortável, nos moldes de:
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)