在实时数据库中,我有一个子节点bus_id
,其节点为bus_no
,bus_id
,bus_time
和creationDate
作为时间戳。我已经使用orderBychild(timestamp)
对数据进行排序。如果规则bus_id
不存在bus_id
,我还实现了创建/添加!data.exists && newData.exists()
。
现在,我要实现该目标,如果子类bus_id
是在之前10分钟创建的,则进行更新;如果子类child
是在其时间戳有10分钟的时间戳之前,请更新ref.child(bus_id).setValue(busInfo);
bus_id。
我将通过int main()
{
std::string inp;
int counter = 0;
int a = 0, i = 0, e = 0, o = 0, u = 0;
std::cout << "Enter the string: ";
std::cin >> inp;
for (int i = 0; i < inp.length(); i++)
{
switch(inp[i])
{
case 'A':
case 'a':
counter++;
a++;
break;
case 'E':
case 'e':
counter++;
e++;
break;
case 'i':
case 'I':
counter++;
i++;
break;
case 'u':
case 'U':
counter++;
u++;
break;
case 'o':
case 'O':
counter++;
o++;
break;
}
}
std::cout << "There were " << counter << " vowels in total." << std::endl;
std::cout << "There were " << a << " As, " << i << " Is, " << o << " Os, " << u << " Us, and " << e << " Es." << std::endl;
return 0;
}
那么是否存在使用三元运算符使上述问题无效的查询?
答案 0 :(得分:1)
从您的问题中我可以得出的结论是,如果您要更新bus_id
子项(如果已创建10分钟),则要对其进行更新,否则,请更新该bus_id
项,它是在10分钟前创建的。
我可以建议您两种方法,首先是为每个timeCreated
添加一个名称为bus_id
的新时间戳,然后可以检索它们的值,并检查它是否已使用10分钟是否。
这可以让您更新早10分钟的bus_id
。
另一种方法是根据您的需要更改Firebase规则,如@JeremyW在评论中所述。
一些有用的资源是this video,您应该跳到时间 22:55 。