עזרה בקבלת מערך אובייקטים, שינוי כמה ערכים, והוספתם מחדש למסד נתונים.
-
יש לי מסד נתונים של משימות ובכל פריט יש הרבה ערכים, אחד מהם זה שדה התייחסות ללקוח. אני הכנסתי ללקוח אחד מספר פריטים, ואני מנסה לבצע פעולה שתכניס את כל אותם הפריטים ללקוח אחר.
בעצם אני זקוק לקבל את המערך של כל האובייקטים של הלקוח 'הדוגמא' לשנות בשדה הלקוח ל- ID של הלקוח החדש. ולהכניס מחדש למסד הנתונים.
בתוך כל אובייקט ישנם גם שדות שלא ניתנים להכנסה כמו תאריך יצירה וכדו' כך שאני מתקשה בהכנסה.
מה הדרך הנכונה לעשות את זה, בלקבל את הכל ולמחוק את הבעיתיים, או לבנות מערך חדש ע"י לולאה.
זה מה שעשיתי הוא מחזיר לי שגיאה ( דרך backengd)export function postData(lakoh) { wixData.query('gav').eq('lakoh', "8cd80fe8-5a98-4a5a-aa54-e511c4602fb5").find().then(res1 => { let res = res1.items.map(item => { delete item.key._id; delete item.key._owner delete item.key._updatedDate delete item.key._createdDate delete item.key.lakoh return item; }); wixData.bulkInsert("gav", res); return console.log("res:" + res, "lakoh:" + lakoh); }); }
-
export function postData(lakoh) { wixData.query('gav').eq('lakoh', "8cd80fe8-5a98-4a5a-aa54-e511c4602fb5").find().then(result => { let insertList = result.items.map(item => { return { "key": item.key, "lakoh": lakoh }; }); wixData.bulkInsert("gav", insertList).catch(err => { console.error(err); }); }); }
אתה יכול לבנות את האוביקט מחדש כפי שעשיתי בדוגמא.
אם לא יועיל תוסיף ל bulkInsert את catch כמו בדוגמא כדי שידפיס מה השגיאה.
-
@magicode אמר בעזרה בקבלת מערך אובייקטים, שינוי כמה ערכים, והוספתם מחדש למסד נתונים.:
export function postData(lakoh) {
wixData.query('gav').eq('lakoh', "8cd80fe8-5a98-4a5a-aa54-e511c4602fb5").find().then(result => {
let insertList = result.items.map(item => {
return {
"key": item.key,
"lakoh": lakoh
};
});
wixData.bulkInsert("gav", insertList).catch(err => {
console.error(err);
});
});
}אין צורך ל'אם' כי זה פשוט עבד נהדר! תודדה ענקית. פורום מקסים!
-
אתה צריך להחזיר את אובייקט הפרומיס בתוצאה של הפונקציה ככה
export function postData(lakoh) { return wixData.query('gav').eq('lakoh', "8cd80fe8-5a98-4a5a-aa54-e511c4602fb5").find().then(result => { let insertList = result.items.map(item => { return { "key": item.key, "lakoh": lakoh }; }); return wixData.bulkInsert("gav", insertList); }); }
תשים לב שהוספתי שני return
ואז אתה משתמש בזה ככה
postData("").then(result => { console.log("end"); }).catch(err => { console.error(err); })