Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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 如何向Google Firestore快照查询添加字符串?_Javascript_Google Cloud Firestore - Fatal编程技术网

Javascript 如何向Google Firestore快照查询添加字符串?

Javascript 如何向Google Firestore快照查询添加字符串?,javascript,google-cloud-firestore,Javascript,Google Cloud Firestore,我的Firestore如下所示:samples=>picture1=>{link1:“somelink.jpg”,link2:“somelink.jpg”等) 当我手动提供如下链接时,一切正常: picRef.onSnapshot(function(doc){ if (doc && doc.exists){ const myPicData = doc.data(); somePicture.src = myPicData.link1}} 但是,如果我做了

我的Firestore如下所示:samples=>picture1=>{link1:“somelink.jpg”,link2:“somelink.jpg”等)

当我手动提供如下链接时,一切正常:

picRef.onSnapshot(function(doc){
    if (doc && doc.exists){
        const myPicData = doc.data();
somePicture.src = myPicData.link1}}
但是,如果我做了以下事情,我就无法让它工作:

counter = 1;
somePicture.src = myPicData + ".link" + counter;
如果输入console.log,链接将变成[object%20Object].link1

我怎么修理它?我需要承诺吗?
谢谢。

在ForEach中重复使用它

picRef.onSnapshot(function(user){
   user.ForEach(function(data){
    if (data && data.exists){
        const myPicData = data.data();
        counter = 1;
         somePicture.src = myPicData + ".link" + counter;
   })
})

似乎您正试图通过追加字符串来访问对象中的元素,这在javascript中是不可能的操作

比如说,

   let doc={link1: "somelink.jpg", link2: "somelink.jpg"}
   console.log(doc.link1)         // outputs: somelink.jpg
   console.log(doc + ".link" + 1) // outputs: [object Object].link1 
也就是说,字符串被附加到对象上。使用字符串访问的正确方法是:

   console.log(doc ["link" + 1])              // outputs: somelink.jpg
如果要指定默认值

   console.log(doc["link" + 3] || "default") // outputs: default

希望我理解正确,这有帮助

不幸的是,这对我不起作用。它说“forEach不是一个函数”。是的,这很有帮助。非常感谢。