首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用云函数从Firestore的ArrayList地图中删除对象?

如何使用云函数从Firestore的ArrayList地图中删除对象?
EN

Stack Overflow用户
提问于 2020-12-06 04:01:37
回答 1查看 24关注 0票数 0
代码语言:javascript
复制
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时,由于某些原因不起作用。

EN

回答 1

Stack Overflow用户

发布于 2020-12-06 08:20:17

更改了此设置:

代码语言:javascript
复制
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")})});

要这样做:

代码语言:javascript
复制
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})});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65161390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档