I am trying to upsert data in my "Languages" collection by iterating a for loop. However it does throw:
"E11000 duplicate key error collection: tms.languages index: language_id_1 dup key: { : null }"
even though I am convinced the record object is unique for each iteration.
var locales = cldr.localeIds
for(var i=0; i < locales.length; i++) {
var locale = locales[i]
var languageDisplayName = cldr.extractLanguageDisplayNames('en')[locale]
if(languageDisplayName) {
var query = {}
query.iso_code = locale
var record = {}
record.name_en = languageDisplayName
record.iso_code = locale
logger.info(languageDisplayName)
Language.update(query, record, {upsert: true}, function(err, numAffected) {
if(err)
throw err
})
}
}
What am I doing wrong here?
via kentor
No comments:
Post a Comment