Как мутировать вложенный объект в крючке BeForeChange в коллекции?Javascript

Форум по Javascript
Ответить
Anonymous
 Как мутировать вложенный объект в крючке BeForeChange в коллекции?

Сообщение Anonymous »

Я пытаюсь изменить вложенный объект в Beforechange крючке Power -нагрузки CMS Определение сбора:

Код: Выделить всё

const newContent = structuredClone(props.data.content);

const newData = await props.req.payload({...}) // making an internal call to get the new data

newContent.prop.prop.prop.prop.prop1 = newData.prop1
newContent.prop.prop.prop.prop.prop2 = newData.prop2

console.log(newContent)

return {
...props.data,
content: newContent
}
< /code>
Это (высоко отредактированное) определение коллекции: < /p>
const CollectionName = {
slug: "collectionname",
fields: [
{
type: "tabs",
tabs: [
{
label: "Relations",
name: "relations",
fields: [
{
name: "posts",
type: "relationship",
hasMany: true,
relationTo: "posts",
},
{
name: "people",
type: "relationship",
hasMany: true,
relationTo: "people",
},
],
hooks: {
beforeChange: [beforeChangeFunc],
afterChange: [afterChangeFunc],
},
},
],
},
],
};
< /code>
afterChangeFunc
только содержит console.log (ops)
Когда я выполняю console.log (newContent) , я получаю обновленный объект, но когда я консоль. Более того, в MongoDB Compass я вижу, что документ не был обновлен с моим новым объектом.
Я использую полезную нагрузку v3. Это упрощенная версия моего кода. Оригинальный код имеет 2 для петлей, внутри которых сделаны вызовы полезной нагрузки. Тем не менее, я думал, что это не должно влиять на результат, поскольку консоль.log в конце beforechange отображает правильные данные. Чего мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/796 ... collection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»