相关疑难解决方法(0)

JavaScript对象的长度

如果我有一个JavaScript对象,请说

const myObject = new Object();
myObject["firstname"] = "Gareth";
myObject["lastname"] = "Simpson";
myObject["age"] = 21;
Run Code Online (Sandbox Code Playgroud)

是否有内置或接受的最佳实践方法来获取此对象的长度?

javascript javascript-objects

2224
推荐指数
30
解决办法
169万
查看次数

在Firebase中,有没有办法在不加载所有节点数据的情况下获取节点的子节点数?

你可以通过孩子来计算

firebase_node.once('value', function(snapshot) { alert('Count: ' + snapshot.numChildren()); });
Run Code Online (Sandbox Code Playgroud)

但我相信这会从服务器中获取该节点的整个子树.对于巨大的列表,这似乎是RAM和延迟密集型.有没有办法获取计数(和/或子名称列表)而不取出整个事物?

database count firebase

124
推荐指数
3
解决办法
8万
查看次数

Firebase数据库快速入门处理计数的方式是否安全?

我想为文章喜欢创建一个增量字段.

我指的是以下链接:https://firebase.google.com/docs/database/android/save-data#save_data_as_transactions

在示例中,有增量字段的代码:

if (p.stars.containsKey(getUid())) {
    // Unstar the post and remove self from stars
    p.starCount = p.starCount - 1;
    p.stars.remove(getUid());
} else {
    // Star the post and add self to stars
    p.starCount = p.starCount + 1;
    p.stars.put(getUid(), true);
}
Run Code Online (Sandbox Code Playgroud)

但是,我怎么能确定用户是否已经喜欢/不喜欢这篇文章?

在这个例子中,用户(黑客)也可以像这样清除整个星图,它会保存:

p.stars = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)

它会破坏已经喜欢它的其他用户的逻辑.

我甚至认为你不能为此制定规则,尤其是"减少计数"行动.

任何帮助,建议?

android firebase firebase-realtime-database

16
推荐指数
1
解决办法
5396
查看次数