database - 代码有助于防止在 wix 数据库 csv 文件上传中重复记录
问题描述
代码有助于防止在 wix 数据库 csv 文件上传中重复记录。
我无法运行下面的代码。为什么?
数据库:AmericanSamoa,检查重复列:originalConnectionDetails
通过检查数据库中的原始链接 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;
});
}
推荐阅读
- sql - 为什么不过滤?SQL查询“在哪里”
- javascript - addEventListener('DOMContentLoaded') 重载问题
- xcode - Xcode:是否可以导出 SF 符号并导入 Xcode 以支持旧版本?
- image - gatsby : 优化没有'childImageSharp' graphql 字段的图像
- c# - 首先在 Entity Framework 6.4.4 数据库中实现自定义导航属性
- c++ - 使用 SDL2 渲染器绘制填充四边形/三角形的最快方法?
- recursion - 当我在 max 变量下方运行查询时,没有更新,我不明白为什么
- c# - 保存 16 位灰度图像的结构
- linux - phpspreadsheets/phpoffice 在 linux 上不工作
- java - Hibernate @Formula 返回集合