当我将javascript变量“直接”设置为此(选项1)时,似乎有所不同:
const restaurant_name = "mcdonalds";
vs从innerHTML中读取它(选项2):
const restaurant_name = restaurant_name.innerHTML;
我在这里想要做的是使用doc_ref中的变量在适当的餐厅名称下创建一个新的Firestore子集合:
const doc_ref = firestore.collection("restaurants").doc(restaurant_name ).collection("reviews").doc("user1")
这在选项1下可以正常工作。
但是,使用选项2,Firestore将在一个全新的空文档下创建子集合,该文档的ID与已经存在的ID(“ mcdonalds”)相同。
是的,您没看错-我的收藏集中有2个具有相同ID的文档!
这是完整的代码段:
$( document ).ready(function() {
const restaurant_name = restaurant_name.innerHTML;
const doc_ref = firestore.collection("restaurants").doc(restaurant_name ).collection("reviews").doc("user1")
$('#buttonLike').on('click',function(){
doc_ref.set(
{"rating":'10'}
);
}
);
到目前为止,我唯一的想法是使用选项2将变量存储为某些奇怪的HTML类型。但是,当使用ToString显式转换变量时,我得到了相同的结果。