gpt4 book ai didi

javascript - 如何将数据作为索引数组推送到 firebase?

转载 作者:行者123 更新时间:2023-12-01 00:21:40 25 4
gpt4 key购买 nike

我有一个 key ,想将其推送到数据库中的特定项目,当我将项目添加到 firebase 时,我使用 .push() 方法,但它不起作用,因为我需要它生成一个新 key 并在内部它添加索引

我得到了什么

--Orders
-LASDAWWDMASDsad
-0:"orderOne"
-DAWKDAWKWKDKADW
-0:"OrderTwo"
...

我需要什么

--Orders
-0:"orderOne"
-1:"orderTwo"
-2:"orderThree"
...

代码

const displayTable = document.getElementById('display-table')
, lipProCkBxs = document.querySelectorAll('#lip-pro input[type=checkbox]')
, tableTotal = document.querySelector('#display-table tfoot tr td:last-child')

const {snapshotVal, uid, serviceDB} = this.state;

onPress: () => {
let arr = [snapshotVal];
// console.log(arr); // ["orderOne"]
database()
.ref(`Providers/users/${uid}`)
.child('rejectedOrders')
.push(arr)
.then(
() => console.log('Done'),
setTimeout(() => {
this.props.navigation.goBack();
}, 200),
)
.catch(error => console.log('@error', error));
}

由 JS 解决:“D

我进行查询以获取拒绝订单的长度,然后当我想要更新时,我只需增加长度+1而且效果很好:3

componentDidMount() {
let uid = auth().currentUser.uid;

database()
.ref(`Providers/users/${uid}`)
.child('rejectedOrders')
.on('value', snapshot =>
this.setState({arrlength: snapshot.val().length - 1}),
);
}

onPress: () => {
let arr = [snapshotKey];
console.log(arr);

let updates = {};
// updates[Math.floor(Math.random() * 10)] = snapshotKey;
updates[arrlength + 1] = snapshotKey;
database()
.ref(`Providers/users/${uid}`)
.child('rejectedOrders')
// .push(...arr)
.update(updates)
.then(...)
}

最佳答案

您可以使用set()代替push():

database()
.ref(`Providers/users/${uid}`)
.child('rejectedOrders')
.set(arr)
.then(
() => console.log('Done'),
setTimeout(() => {
this.props.navigation.goBack();
}, 200),
)
.catch(error => console.log('@error', error));
}

关于javascript - 如何将数据作为索引数组推送到 firebase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59364966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com