现在我可以获取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);
});
答案 0 :(得分:1)
您可以通过调用.id
或.ref
轻松获取添加文档的ID(如果您希望整个引用存储在其他位置)。
return db.collection('myCollection').add(someData)
.then(response => {
console.log(`Document ID: ${response.id}`);
})
.catch(err => {
console.error(err);
});
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);
});