Firestore设置功能不起作用

时间:2018-01-20 19:58:06

标签: javascript firebase google-cloud-functions google-cloud-firestore

我正在尝试使用云功能将我的所有帖子移动到firestore

exports.copyPosts = functions.https.onRequest((req, res) => {
    var i = 0;
    var username;
    db.ref("feeds").child("all").limitToLast(2000).once("value", function (postSnap) {
            console.log(postSnap.numChildren());

        postSnap.forEach(function(topic){
                i = i + 1;


                    firestore.collection("topics").doc(i+"").set({
                        caption: topic.child("caption").val(),
                        time: topic.child("time").val(),
                        username: topic.child("username").val(),
                        category: topic.child("category").val(),
                        pic: topic.child("pic").val()

                    })

                if(postSnap.numChildren()==i){
                    res.contentType('application/json');
                    res.status(200).send("Success");
                }
            });
        });

});

它返回成功。在此之前,我使用此循环将帖子复制到另一个实时数据库位置,并且它有效。

但是对于firestore,没有添加任何数据,并且日志中没有错误显示..

1 个答案:

答案 0 :(得分:0)

我可以使用云功能将数据插入到firestore。 您可以先将数据传递给变量,然后将变量放入set()操作中。希望这可以帮到你

exports.insertDB = functions.https.onRequest((request,response) =>
{
  var firstname_input = request.query.name;
  db.collection("user").doc(firstname_input).set({
          first_name : firstname_input,
          last_name : "Chow",
          hobby : "Swimming"
        })
  response.send("Inserted a new user, name: " + firstname_input);
});