javascript - 如何在node js中使用cloud firestore实时更新请求id?

标签 javascript node.js firebase google-cloud-firestore google-api-nodejs-client

现在我可以获取文档 ID 并将数据插入 DriversCurrentBookings 中。当新的 currenUserRequest 文档 ID 添加到集合数据库中时,它应该在 firebase 中实时更新(使用云 firestore)

这里是使用的代码:

var citiesRef = db.collection('UsersBookingRequest');
var allCities = citiesRef.get()
.then(snapshot => {
    snapshot.forEach(doc => {
        console.log(doc.id, '=>', doc.data());
        var reqID = doc.data().UID;

        var cityRef = db.collection('UsersBookingRequest').doc(reqID);
        var getDoc = cityRef.get()
             .then(doc => {
                 if (!doc.exists) {
                     console.log('No such document!');
                 } else {
                        console.log('Document data:', doc.data());
                        lat = doc.data().Currentlat;
                        long = doc.data().Currentlong;
                        UID = doc.data().UID;
                        // token = doc.data().token;
                        address = doc.data().address;
                        date = doc.data().date;
                        time = doc.data().time;

                        console.log(lat);
                        console.log(long);
                        console.log(UID);
                        // console.log(token);
                        console.log(address);
                        console.log(date);
                        console.log(time);

        var data = {

                 lat: lat,
                 long: long,
                 UID: UID,
                 address: address,
                 date: date,
                 time: time
                 // token: token


                    };

                // Add a new document in collection "cities" with ID 'LA'
        var setDoc = 
db.collection('DriversCurrentBookings').doc(doc.data().UID).set(data);

    }
})
.catch(err => {
    console.log('Error getting document', err);
});

    })
})
.catch(err => {
    console.log('Error getting documents', err);
});

这是db enter image description here 的截图 enter image description here

最佳答案

您可以通过调用 .id.ref 轻松获取添加文档的 ID(如果您希望将整个引用存储在另一个位置)。

示例 1

return db.collection('myCollection').add(someData)
  .then(response => {
    console.log(`Document ID: ${response.id}`);
  })
  .catch(err => {
    console.error(err);
  });

示例 2

let docRef = db.collection('myCollection').doc();
console.log (`Document ID: ${docRef.id}`);

return docRef.set(someData)
  .then(response => {
    console.log('The data was saved');
  })
  .catch(err => {
    console.error(err);
  });

关于javascript - 如何在node js中使用cloud firestore实时更新请求id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49649284/

相关文章:

javascript - mdbootstrap 不使用 php 显示图像

javascript - jQuery:用跨度的值填充文本框

javascript - 如何将本地/服务器目录中的所有图像添加到数组并在另一个文件上使用数组 var?

iOS:在 tableView 中显示 firebase 数据

android - 使用 SwipeRefreshLayout 时 Robo 脚本中止

firebase - 正确使用 Firebase 中的引用文献中的 hasChild() 和 forEach() 吗?

javascript - 如何使用 jquery 将相同类的元素包装在列表框中?

javascript - WebStorm eslint-config-标准错误

javascript - gulp chalk,通过方法传递字符串模板

javascript - 发出警报时,Sweet alert 2 未显示为模态