如何使用节点js中的云firestore实时更新请求ID?

时间:2018-04-04 10:59:30

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

现在我可以获取doc id并将数据插入DriversCurrentBookings。当在集合db中添加新的currenUserRequest doc 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

1 个答案:

答案 0 :(得分:1)

您可以通过调用.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);
  });