Транзакции в базе данных Wordpress

Вы можете reduce записи, возвращаемые Object.entries , например:

let obj = {
  "BPContName": "aName;bName;cName",
  "BPContEmail": "aEmail;bEmail;cEmail",
  "BPContPWID": "aPWID;bPWID;cPWID"
}

let bpTableDataName = Object.entries(obj).reduce((r, [key, value]) => {
  let splits = value.split(";");
  key = key.replace("BPCont", "").toLowerCase();
  splits.forEach((split, i) => (r[i] = r[i] || {})[key] = split)
  return r;
}, [])

obj.bpTableDataName = bpTableDataName;

console.log(obj)
[1116 ]
  • Object.entries возвращает массив пары ключ-значение. Прокрутите каждую из них
  • split Каждое значение в ;
  • получите ключ, удалив часть BPCont и сделав ее lowerCase
  • Проходной splits и обновлять определенные ключи объектов в каждом индексе

Обновление:

Поскольку у вас есть дополнительный d в ключе вывода, вы можете создать объект отображения:

propertyMap = {
  "BPContName": "name",
  "BPContEmail": "email",
  "BPContPWID": "pwdid"
}

А внутри reduce измените код replace на этот:

key = propertyMap[key]

8
задан Sabya 31 March 2009 в 08:44
поделиться

2 ответа

Ну, насколько я могу сказать, это не делает! Единственной причиной там не являются очень проблемы с этим, что большинство операций записи сделано с единственной вставкой или обновлением (добавляющий комментарий, создав новое сообщение...).

В целом, большинство веб-приложений, которые я видел до сих пор, не беспокоятся слишком много транзакциями, атомарностью или даже ссылочной целостностью, которая довольно печальна. С одной стороны, грустно, что столько приложений просто полагается на чистую удачу, что ничего плохо не происходит, и с другой стороны это могло бы привести к впечатлению, что все эти методы не настолько важны когда дело доходит до материала базы данных.

8
ответ дан 5 December 2019 в 20:18
поделиться

Я думал бы, что транзакция гарантирует атомарную правильность на предыдущем слое абстракции. Когда транзакция происходит он блокировки по умолчанию, что это пишет. Я не уверен все же.

0
ответ дан 5 December 2019 в 20:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: