Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查子项的数量是否大于1_Javascript_Node.js_Firebase_Firebase Realtime Database_Google Cloud Functions - Fatal编程技术网

Javascript 检查子项的数量是否大于1

Javascript 检查子项的数量是否大于1,javascript,node.js,firebase,firebase-realtime-database,google-cloud-functions,Javascript,Node.js,Firebase,Firebase Realtime Database,Google Cloud Functions,在Firebase的云函数中,如何检查节点的子节点数是否大于1?在我的例子中,我想看看天数是否大于1 例如: if(children of 'messages' node > 1) // do something 三个选项,取决于您的用例: 一个。检索messages对象并计算密钥,例如 var x = {"1":1, "A":2}; Object.keys(x).length; //outputs 2 两个。更有利的是,将count节点保留为消息的子节点,并在添加和删除子节点时进行监

在Firebase的云函数中,如何检查节点的子节点数是否大于1?在我的例子中,我想看看天数是否大于1

例如:

if(children of 'messages' node > 1)
// do something

三个选项,取决于您的用例:

一个。检索messages对象并计算密钥,例如

var x = {"1":1, "A":2};
Object.keys(x).length; //outputs 2
两个。更有利的是,将count节点保留为消息的子节点,并在添加和删除子节点时进行监视。Firebase提供了一个关于如何做到这一点的示例:

三个。您还可以将numChildren用于快照的顶层

例如:

// If the number of likes gets deleted, recount the number of likes
exports.countDays = functions.database.ref('/messages').onWrite(event => {
    const theRef = event.data.ref;
    const collectionRef = theRef.parent.child('days');
    collectionRef.once('value').then(messagesData => {
        if(messagesData.numChildren()) > 1) {
            // do something
        }
    })
});

如果您计划只使用一周中的7天,您可以使用一周中的几天循环一个数组,然后执行以下操作:

function amountOfChildren(ref, arr) {
  let children = 0;
  for (const item in arr) {
    if ref.hasChild(item) {children++}
  }
  return children;
}

const rootRef = firebase.database().ref();
const daysRef = rootRef.child('days');
const weekDays = ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];
amountOfChildren(daysRef, weekDays); // returns a number from 0 to 7

我用我的数据结构更新了我的问题。在我的情况下,我如何计算天数?例如,ifdays.children>1//做一些伟大的事情。在我的案例中,我将如何准确地使用numChildren?对不起,我更新了我的问题,我不够清楚。当在messages节点上进行onWrite时。我想检查天数是否大于1。