Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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
当确实存在另一个同级时,Firebase查询可以返回空同级_Firebase - Fatal编程技术网

当确实存在另一个同级时,Firebase查询可以返回空同级

当确实存在另一个同级时,Firebase查询可以返回空同级,firebase,Firebase,当对查询应用限制时,查询中第一个找到的元素将具有空的前一个同级。即使它确实有一个兄弟,但它只是没有在查询中获取 FQuery* messageListQuery = [m_firebaseRef queryLimitedToNumberOfChildren:2]; [messageListQuery observeEventType:FEventTypeChildAdded andPreviousSiblingNameWithBlock:^(FDataSnapshot *snapshot, N

当对查询应用限制时,查询中第一个找到的元素将具有空的前一个同级。即使它确实有一个兄弟,但它只是没有在查询中获取

FQuery* messageListQuery = [m_firebaseRef queryLimitedToNumberOfChildren:2];

[messageListQuery observeEventType:FEventTypeChildAdded andPreviousSiblingNameWithBlock:^(FDataSnapshot *snapshot, NSString *prevNodeName) {
    NSString     *nodeName = snapshot.name;
    NSDictionary *msgData = snapshot.value;
    NSString     *where = (prevNodeName == nil) ? @"at the beginning" : [NSString stringWithFormat:@"after %@", prevNodeName];
    NSLog(@"%@ says %@ %@", nodeName, msgData[@"text"], where);
}];
我在给定的FirebaseRef上有3条消息。但是,它显示测试2消息没有以前的同级:

-J1JTkEzsdxHGMBEk5eD says Test 2 at the beginning
-J1JW0vpWBZema9QKUcB says Test 3 after -J1JTkEzsdxHGMBEk5eD
-J1JTWoAw5IiUpzkOV4l says Test at the beginning
-J1JTkEzsdxHGMBEk5eD says Test 2 after -J1JTWoAw5IiUpzkOV4l
-J1JW0vpWBZema9QKUcB says Test 3 after -J1JTkEzsdxHGMBEk5eD
当显示所有消息时,可以清楚地看到测试2是以前的同级:

-J1JTkEzsdxHGMBEk5eD says Test 2 at the beginning
-J1JW0vpWBZema9QKUcB says Test 3 after -J1JTkEzsdxHGMBEk5eD
-J1JTWoAw5IiUpzkOV4l says Test at the beginning
-J1JTkEzsdxHGMBEk5eD says Test 2 after -J1JTWoAw5IiUpzkOV4l
-J1JW0vpWBZema9QKUcB says Test 3 after -J1JTkEzsdxHGMBEk5eD

我不确定这是一个bug还是由Firebase设计的。这似乎有点误导,因为人们可能想通过查看prevNodeName参数来了解是否有更多节点。

这是出于设计。对附加了查询或限制的Firebase引用执行的所有操作将仅在该特定查询中操作。如果您想知道之前或之后是否有更多元素(例如分页),最好在创建查询的一个级别上跟踪“页面”。感谢您的澄清。