第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

5 分鐘無更新后覆蓋 firestore 字段

5 分鐘無更新后覆蓋 firestore 字段

寶慕林4294392 2022-01-13 17:09:12
我正在顯示包含來自 Google Firestore 的數(shù)據(jù)的卡片。其中一個字段是“狀態(tài)”。狀態(tài)可以從應(yīng)用程序外部遠(yuǎn)程打開和關(guān)閉。我希望狀態(tài)在 5 分鐘后或在 5 分鐘沒有更新文檔后自動變?yōu)椤瓣P(guān)閉”。如果用戶失去連接并且無法再發(fā)送“狀態(tài)”:“關(guān)閉”消息,我想這樣做。我不希望卡片永遠(yuǎn)只說“開”。我正在使用 Vue.js 并嘗試了一些不同的東西,但我不太確定如何實(shí)現(xiàn)這一點(diǎn)。如果這個問題更適合不同的網(wǎng)站,我深表歉意。我查找了類似的問題,但找不到任何東西。這是一個屏幕截圖,可以可視化我在問什么。如果未在 5 分鐘內(nèi)更新,我希望狀態(tài)變?yōu)椤瓣P(guān)閉”。或任何時間。<div >    <div class="ma-4">        <div  centered class="text-lg-center headline">             Live Middleware Status             <p v-bind="allig">{{ seconds }}</p>        </div>    </div>        <v-card  slow v-bind="allig" :class="`mx-4 my-4 ${user.Status}`" v-for="user in users" :key="user.id">          <v-card-title flat class="pa-n3">            <v-flex class="mx-auto" xs6 sm4 md2 lg2>              <div class="caption grey--text">Location Site ID</div>              <div class="title">{{user.id}}</div>            </v-flex>            <v-flex class="mr-auto " xs6 sm4 md2 lg2>              <div class="caption grey--text">ID</div>              <div class=" ml-n12 title">{{user.CustomerID}}</div>            </v-flex>            <v-flex style :class="`mx-auto ${user.Status}`" xs6 sm4 md2 lg2>              <div class="caption grey--text">Current Status</div>              <div class="status title mx-2">{{user.Status}}</div>            </v-flex>            <v-flex style class="mx-auto caption green--text" xs6 sm4 md2 lg2>              <div class="caption grey--text">Last Message</div>              <div class="Green my-2 title">{{user.TimeStamp}}</div>            </v-flex>          </v-card-title>        </v-card>      </div>      </template>      <script>// eslint-disable-next-lineimport firestore from "firestore";// eslint-disable-next-lineimport db from "@/components/fbInit";import firebase from "firebase";export default {  // eslint-disable-next-line  components: { },  data() {    return {      wide: false,      ToggleDelete: false,      card: true,      light: true,      seconds: "",      users: [],      links: [{ route: "/logs" }]    };  },};</script>
查看完整描述

1 回答

?
慕桂英4014372

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個贊

為了可靠地做到這一點(diǎn),您需要有一個服務(wù)器端進(jìn)程定期檢查和更新文檔。一種直接的方法是使用預(yù)定的 Cloud Function。它看起來像這樣:


// functions/index.js


const admin = require('firebase-admin');

admin.initializeApp();

const db = admin.firestore();


exports.updateIdle = functions.pubsub.schedule('* * * * *').onRun(async () => {

  const snap = await db.collection("MX")

    .where("Status", "=", "On")

    .where("Timestamp", "<", admin.firestore.Timestamp.fromMillis(Date.now() - 5 * 60000))

    .get();


  await Promise.all(snap.docs.map(doc => doc.ref.update({Status: 'Off'})));

});

上述函數(shù)將每分鐘運(yùn)行一次,查找時間戳超過五分鐘的任何文檔,并更新每個文檔以獲取"Off"狀態(tài)。


這只是一個示例,您可能需要根據(jù)您的特定需求做一些不同的事情。


查看完整回答
反對 回復(fù) 2022-01-13
  • 1 回答
  • 0 關(guān)注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號