gpt4 book ai didi

javascript - 云函数问题,查询生成数组?

转载 作者:行者123 更新时间:2023-12-02 21:46:05 24 4
gpt4 key购买 nike

我需要进入 itens 才能进入某些项目,而不是进入产品以获取“ean”字段并检查某些产品是否具有正文请求中的“ean”。

我的数据库是这样组织的:

"cart": {
"itens": {
"0": {info here},
"1": {info here}
"2": {
"more info here",
"product": {
"avaliable": true"
"quantity": 231,
"ean": "0000001312"
}
continue listing until 47

但是当我执行我的云函数时:

exports.getItemByEan = functions.https.onRequest(async (request, response) => {
const db = admin.database();
const itens = db.ref();
const eanRef = itens.child('carrinho').child('itens');
const query = eanRef.orderByKey();

try {
const dataSnapshot = await eanRef.once('value');
response.send(dataSnapshot.val());
} catch (error) {
console.log(error)
}
})

});

但是我需要进入iten内部,然后进入“product”字段,然后获取“ean”,但其结果就像一个对象插入的数组,并且没有出现键:

[
{,
"product": {
"avaliable": true,
"quantity": 9183
"ean": "0000000000017",
},
{

"product": {
"avaliable": true,
"quantity": 131
"ean": "0000000044790",
},
},
.....continues

我想要了解为什么查询结果是一个数组,而不是像 Firebase 数据库中那样在 itens 之前有键的对象,然后如何更好地通过 Ean 查找特定产品。

我什至都做不到

const db = admin.database();
const itens = db.ref();
const eanRef = itens.child('cart').child('itens').child('product'); // This doesnt works, just returns nothing, why ?????
// Isn't "product" field inside the item ?

最佳答案

如果您的数据库键都是数字,那么您将得到一个具有相同项目的数组,而不是一个对象,其中数组的索引与数据库中节点的键相同。您的代码需要为此做好准备。因此,如果您希望客户端接收对象而不是数组,则必须自己进行转换。

关于javascript - 云函数问题,查询生成数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60244107/

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