【发布时间】:2018-08-20 16:13:40
【问题描述】:
在我的 Wix 网站中,我创建了一个数据库,名为“giaCode”的字段应该是唯一的。
问题是 Wix 数据库没有任何功能来保存唯一的项目 - 例如外键。
所以我决定创建一个函数来搜索和删除数据库中的任何重复项。但它不起作用。
流程应该是:
- 将 CSV 文件导入数据库
- 检查所有行并将其“_id”记录到数组中
- 调用数组删除行
Wix 代码 (data.js) 如下:
import wixData from 'wix-data';
let n,i,j,duplicateData,items;
let k = 0;
wixData.query("Diamond")
.count()
.then( (num) => {
n = num;
});
wixData.query("Customer")
.find()
.then( (data) => {
items = data.items;
});
export function checkDuplicates(value, info) {
for (i = 0; i < n; i++) {
for (j = 0; i < n; j++) {
wixData.query("myCollection")
.eq("giaCode", items[i].giaCode)
.find()
.then ((DupResults) => {
duplicateData[k][j] = DupResults.items;
k++;
});
}
}
for (i = 0; i < k; i++) {
for (j = 1; j < duplicateData[k][j].giaCode.length; j++) {
wixData.remove("Diamond", duplicateData[i][j].giaCode)
}
}
}
export function Diamond_afterInsert(item, context) {
checkDuplicates()
}
它应该可以工作,但我收到错误消息: enter image description here
【问题讨论】:
-
你好@TerryLau!有一个规则可以遵循 > 寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example.。一旦你这样做,请相应地edit the question。谢谢! :)
-
更具体地说,最大的抱怨是“Verifiable”部分。
标签: javascript database velo