代码有助于防止在 wix 数据库 csv 文件上传中重复记录
Code help to prevent duplicate recording in wix database csv file upload
代码有助于防止在 wix 数据库 csv 文件上传中重复记录。
我无法 运行 下面的代码。为什么?
数据库:美属萨摩亚,
检查重复列:originalConnectionDetails
通过检查数据库中的原始 link url 地址,如果记录之前已加载 csv 文件,我想防止重复条目。
我的后端代码
import wixData from 'wix-data';
import request from "request-promise";
export async function AmericanSamoa_beforeInsert(item, context) {
if (item.originalConnectionDetails) {
item.originalConnectionDetails= await wixData.query('AmericanSamoa').ne('_id',
item._id).startsWith('originalConnectionDetails', item.originalConnectionDetails).find().then((x) =>
{
const total = x.totalCount;
if (total > 0) {
return `${item.originalConnectionDetails}-${total+1}`;
} else {
return item.originalConnectionDetails;
}
})
}
return item
}
解决方案!
---此代码可防止在 csv 文件上传期间重复记录(如果它们之前已写入数据库)。
但是你添加的csv文件中应该是不能重复记录的。因为第一次上传没有检查文件中的重复记录。它检查数据库中的csv文件并上传。
后端代码
import wixData from 'wix-data';
export function searchForDuplicates(value) {
return wixData.query("Afghanistan")
.eq("originalConnectionDetails", value)
.find()
.then((results) => {
return results.items.length;
})
.catch((err) => {
let errorMsg = err;
});
}
export function Afghanistan_beforeInsert(item) {
return searchForDuplicates(item.originalConnectionDetails).then((res) => {
if(res > 0) {
return Promise.reject("Duplicate");
}
return item;
});
}
代码有助于防止在 wix 数据库 csv 文件上传中重复记录。
我无法 运行 下面的代码。为什么?
数据库:美属萨摩亚, 检查重复列:originalConnectionDetails
通过检查数据库中的原始 link url 地址,如果记录之前已加载 csv 文件,我想防止重复条目。
我的后端代码
import wixData from 'wix-data';
import request from "request-promise";
export async function AmericanSamoa_beforeInsert(item, context) {
if (item.originalConnectionDetails) {
item.originalConnectionDetails= await wixData.query('AmericanSamoa').ne('_id',
item._id).startsWith('originalConnectionDetails', item.originalConnectionDetails).find().then((x) =>
{
const total = x.totalCount;
if (total > 0) {
return `${item.originalConnectionDetails}-${total+1}`;
} else {
return item.originalConnectionDetails;
}
})
}
return item
}
解决方案!
---此代码可防止在 csv 文件上传期间重复记录(如果它们之前已写入数据库)。
但是你添加的csv文件中应该是不能重复记录的。因为第一次上传没有检查文件中的重复记录。它检查数据库中的csv文件并上传。
后端代码
import wixData from 'wix-data';
export function searchForDuplicates(value) {
return wixData.query("Afghanistan")
.eq("originalConnectionDetails", value)
.find()
.then((results) => {
return results.items.length;
})
.catch((err) => {
let errorMsg = err;
});
}
export function Afghanistan_beforeInsert(item) {
return searchForDuplicates(item.originalConnectionDetails).then((res) => {
if(res > 0) {
return Promise.reject("Duplicate");
}
return item;
});
}