exports.chatRoomDeleteTimer = functions.pubsub.schedule('* * * * *')
.timeZone('America/New_York') // Users can choose timezone - default is America/Los_Angeles
.onRun((context) => {
return db.collection("ChatRoom").where('timestamp', '<', Math.round(new Date().getTime()/1000) - 60).get()
.then(querySnapshot => {
const promises = [];
querySnapshot.forEach(doc => {
promises.push(doc.ref.delete());
db.collection("UsersFilter").doc(doc.get("chatRoomLeader.userID")).update({"UsersInChat": firebase.firestore.FieldValue.arrayRemove({"age": doc.get("chatRoomGuest.age"), "chatRoomID": doc.get("chatRoomGuest.chatRoomID"), "cityName": doc.get("chatRoomGuest.cityName"), "email":doc.get("chatRoomGuest.email"), "km":doc.get("chatRoomGuest.km"), "name":doc.get("chatRoomGuest.name"), "profilePic":doc.get("chatRoomGuest.profilePic"), "timestamp":doc.get("chatRoomGuest.timestamp"), "userID":doc.get("chatRoomGuest.userID")})});
});
return Promise.all(promises);
});
});我不知道我做错了什么。第一部分的工作是删除所有1分钟前的chatRooms,但是当我尝试使用FieldArray remove时,由于某些原因不起作用。
发布于 2020-12-06 08:20:17
更改了此设置:
db.collection("UsersFilter").doc(doc.get("chatRoomLeader.userID")).update({"UsersInChat": firebase.firestore.FieldValue.arrayRemove({"age": doc.get("chatRoomGuest.age"), "chatRoomID": doc.get("chatRoomGuest.chatRoomID"), "cityName": doc.get("chatRoomGuest.cityName"), "email":doc.get("chatRoomGuest.email"), "km":doc.get("chatRoomGuest.km"), "name":doc.get("chatRoomGuest.name"), "profilePic":doc.get("chatRoomGuest.profilePic"), "timestamp":doc.get("chatRoomGuest.timestamp"), "userID":doc.get("chatRoomGuest.userID")})});要这样做:
db.collection("UsersFilter").doc(doc.data().chatRoomLeader.userID).update({"UsersInChat" : admin.firestore.FieldValue.arrayRemove({"age": doc.data().chatRoomGuest.age, "chatRoomID": doc.data().chatRoomGuest.chatRoomID, "cityName": doc.data().chatRoomGuest.cityName, "email": doc.data().chatRoomGuest.email, "km": doc.data().chatRoomGuest.km, "name": doc.data().chatRoomGuest.name, "profilePic": doc.data().chatRoomGuest.profilePic, "timestamp": doc.data().chatRoomGuest.timestamp, "userID": doc.data().chatRoomGuest.userID})});https://stackoverflow.com/questions/65161390
复制相似问题