Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的firestore数据是';useruid';而不是实际的uid?_Javascript_Firebase_Google Cloud Functions - Fatal编程技术网

Javascript 为什么我的firestore数据是';useruid';而不是实际的uid?

Javascript 为什么我的firestore数据是';useruid';而不是实际的uid?,javascript,firebase,google-cloud-functions,Javascript,Firebase,Google Cloud Functions,对于云函数来说,这只是一个非常简单的问题。我只是想知道为什么我的firestore(在模拟器中)中的数据看起来是: useruid Item Name: "Yummy Food" Item Price: "25" Item Quantity: "50" 而不是我想要的是: qwjeqjwioej123123123 Item Name: "Yummy Food&q

对于云函数来说,这只是一个非常简单的问题。我只是想知道为什么我的firestore(在模拟器中)中的数据看起来是:

useruid 
  Item Name:        "Yummy Food"
  Item Price:       "25"
  Item Quantity:    "50"
而不是我想要的是:

qwjeqjwioej123123123
  Item Name:        "Yummy Food"
  Item Price:       "25"
  Item Quantity:    "50"
以下是我的代码:

exports.addCurrentOrder = functions.https.onRequest(async (req, res) => {
  const useruid = req.query.uid;
  const itemName = req.query.itemName;
  const itemPrice = req.query.itemPrice;
  const itemQuantity = req.query.itemQuantity;
  console.log('This is in useruid: ', useruid);

  const data = { useruid : {
     'Item Name': itemName,
     'Item Price': itemPrice,
     'Item Quantity': itemQuantity,
  }};

  const writeResult = await admin.firestore().collection('Current Orders}').add(data);
  res.json({result: data});
});

很抱歉,我没有太多JS经验

您的代码实际上是将该字符串作为字段名称放入文档中。JavaScript对象就是这样工作的

如果要将变量的值替换为对象属性的名称,可以使用方括号语法提供计算结果为要使用的字符串的表达式:

  const data = { [useruid] : {
     'Item Name': itemName,
     'Item Price': itemPrice,
     'Item Quantity': itemQuantity,
  }};

那很快很容易!谢谢你,道格!