我有一个问题,如果我是正确的得到一个值的数组supabase给。
我用这段代码来做这件事
countries.value = parseInt(countries.value.map(({ aantal }) => aantal));
如果我不把它 Package 在parsInt中,我会得到如下的数字:[2000]所以当我 Package 它时,我只得到2000。这是正确的。我还使用. toString测试了它。也可以工作
我的问题:
这样做正确吗?因为我第一次真的很困惑为什么数字被方括号[]包裹
完整的代码
<script setup>
import { ref, onMounted } from "vue";
import { supabase } from "./lib/supabaseClient";
const countries = ref();
async function getCountries() {
const { data } = await supabase.from("count").select("aantal");
countries.value = data;
console.log({ data });
countries.value = parseInt(countries.value.map(({ aantal }) => aantal));
}
async function updateplus() {
countries.value++;
console.log("update", countries.value);
const { data, error } = await supabase
.from("count")
.update({ aantal: countries.value })
.eq("id", 1)
.select();
console.log("update", { data, error });
}
onMounted(() => {
getCountries();
});
const nummber = countries.value;
</script>
<template>
<div>
{{ countries }}
{{ nummber }}
Count
</div>
<div><button @click="updateplus()">Plus 1</button></div>
</template>
2条答案
按热度按时间oxosxuxt1#
如果你总是只需要一个值,那么你应该在查询中使用
.single()
。但是如果你需要0到1行,那么你应该使用.maybeSingle()
。如果你不使用这两种方法中的任何一种,那么你总是会得到作为数组返回的数据。zpgglvta2#
我用了这个看起来更好