使用angularfire,startAt和endAt无法正常工作:0.8.0

塞加尔

使用AngularFire 8.0

波纹管是使用startAt和endAt限制firebase中数据的代码。

$rootScope.$on('$firebaseSimpleLogin:login', function(e, authUser){

  var queryRef = ref.startAt(authUser.uid).endAt(authUser.uid);

  var queryArray = $firebase(queryRef).$asArray();

  queryArray.$loaded().then(function() {

    setCurrentUser(queryArray.$keyAt(0));

  });
});

返回的数据应该是firebase中的单个元素,但是当我使用console.log进行调试时,queryArray为空。

在不使用startAt和endAt的情况下,queryArray包含了firebase中存储的所有元素,因此,记录queryArray。$ keyAt(0)会将First元素的名称作为输出。符合预期。

我也检查了Firebase 8.0的发行说明,但看​​不到这些限制器有任何更改。

请指出是否有语法错误或其他替代解决方案可以达到预期的效果。

我基本上希望从Firebase获得单个记录,这是我的当前用户,authUser是以authUser.uid为优先级的授权用户。

以下是发生用户注册时在Firebase中填充的JSON文件。

{
  "users" : {
    "User A" : {
      "md5_hash" : "d10ca8d11301c2f4993ac2279ce4b930",
      "setPriority" : "simplelogin:69",
      "username" : "User A"
    },
    "User B" : {
      "md5_hash" : "2076105f6efe7c11e285add95f514b9a",
      "setPriority" : "simplelogin:70",
      "username" : "User B"
    },
    "User C" : {
      "md5_hash" : "a6d14de05d7b2c3cf4fae7ae14cfa7f3",
      "setPriority" : "simplelogin:71",
      "username" : "User C"
    }
  }
}

编辑后

使用以下代码获取优先级:

queryRef.once('value', function(nameSnapshot) {
  var val = nameSnapshot.getPriority();
  console.log("Priority is: " + val );
});

日志输出为:

优先级为:null

将用户添加到Firebase的方法是:

create: function (authUser, username) {
  users[username] = {
    md5_hash: authUser.md5_hash,
    username: username,
    setPriority: authUser.uid
  };

users.$update(username, {
    md5_hash: authUser.md5_hash,
    username: username,
    setPriority: authUser.uid
    //$priority: authUser.uid
  }).then(function () {
    setCurrentUser(username);
  });

}, // end of create method
模仿

您所有数据的优先级似乎都为空。这会阻止endAtstartAt使其正常工作。

出现问题的线索是setPriority数据中密钥的存在优先级是在普通视图之外管理的元数据。

将用户创建代码更改为如下所示:

create: function (authUser, username) {
  users[username] = {
    md5_hash: authUser.md5_hash,
    username: username,
    .priority: authUser.uid
  };

} // end of create method

或这个:

create: function (authUser, username) {
  users[username] = {
    md5_hash: authUser.md5_hash,
    username: username
  };

users.$update(username, {
    md5_hash: authUser.md5_hash,
    username: username
  }).then(function (dataRef) {
    dataRef.setPriority(authUser.uid);
    setCurrentUser(username);
  });

} // end of create method

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用angularfire,startAt和endAt无法按预期工作:0.8.0

来自分类Dev

Pygame.mouse.set_cursor((8,8),(0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0 ,0))导致错误

来自分类Dev

Animate({right:0})在Chrome和Opera中无法正常工作

来自分类Dev

Animate({right:0})在Chrome和Opera中无法正常工作

来自分类Dev

在MIPS中使用$ t0与$ 8

来自分类Dev

0xbffff8a8:保存基本指针时aam $ -0x8错误

来自分类Dev

iOS8视频尺寸,CMVideoDimensions返回0,0

来自分类Dev

java.lang.IndexOutOfBoundsException:索引:0,大小:0 Java 8

来自分类Dev

Topmargin 0无法正常工作?缓存问题?

来自分类Dev

Server.ScriptTimeout = 0无法正常工作

来自分类Dev

0x8($ rsp)的含义

来自分类Dev

IE8中的ScrollTop返回0

来自分类Dev

IE8中的ScrollTop返回0

来自分类Dev

SUM 数字,但当为 0 时,加 8

来自分类Dev

$ {0 ## * /}和$ {0%/ *}如何工作?

来自分类Dev

TCPDF错误:无法在预期位置找到对象(8,0)

来自分类Dev

如何将整数 0-80 转换为点坐标 (0,0) -> (8,8)?

来自分类Dev

c3p0,MySQL和Java 8无法连接

来自分类Dev

如何使用rspec测试.rjust 8,“ 0”的等式

来自分类Dev

正则表达式解析“ ^ [\ 0 \ 8] * $”-无法识别的转义序列\ 8

来自分类Dev

Auth0-auth.isAuthenticated无法正常工作

来自分类Dev

openssl函数无法正常工作而不返回0

来自分类Dev

如果ERRORLEVEL 0检查似乎无法正常工作

来自分类Dev

SQL Server中的最小功能无法正常工作给0

来自分类Dev

Java中的冒泡排序无法正常工作。只显示0

来自分类Dev

当'0'存在时,MySQL ORDER BY无法正常工作

来自分类Dev

保证金0自动无法正常工作

来自分类Dev

Openssl函数无法正常工作,没有返回0

来自分类Dev

在vim regexp替换中submatch(0)无法正常工作吗?

Related 相关文章

  1. 1

    使用angularfire,startAt和endAt无法按预期工作:0.8.0

  2. 2

    Pygame.mouse.set_cursor((8,8),(0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0 ,0))导致错误

  3. 3

    Animate({right:0})在Chrome和Opera中无法正常工作

  4. 4

    Animate({right:0})在Chrome和Opera中无法正常工作

  5. 5

    在MIPS中使用$ t0与$ 8

  6. 6

    0xbffff8a8:保存基本指针时aam $ -0x8错误

  7. 7

    iOS8视频尺寸,CMVideoDimensions返回0,0

  8. 8

    java.lang.IndexOutOfBoundsException:索引:0,大小:0 Java 8

  9. 9

    Topmargin 0无法正常工作?缓存问题?

  10. 10

    Server.ScriptTimeout = 0无法正常工作

  11. 11

    0x8($ rsp)的含义

  12. 12

    IE8中的ScrollTop返回0

  13. 13

    IE8中的ScrollTop返回0

  14. 14

    SUM 数字,但当为 0 时,加 8

  15. 15

    $ {0 ## * /}和$ {0%/ *}如何工作?

  16. 16

    TCPDF错误:无法在预期位置找到对象(8,0)

  17. 17

    如何将整数 0-80 转换为点坐标 (0,0) -> (8,8)?

  18. 18

    c3p0,MySQL和Java 8无法连接

  19. 19

    如何使用rspec测试.rjust 8,“ 0”的等式

  20. 20

    正则表达式解析“ ^ [\ 0 \ 8] * $”-无法识别的转义序列\ 8

  21. 21

    Auth0-auth.isAuthenticated无法正常工作

  22. 22

    openssl函数无法正常工作而不返回0

  23. 23

    如果ERRORLEVEL 0检查似乎无法正常工作

  24. 24

    SQL Server中的最小功能无法正常工作给0

  25. 25

    Java中的冒泡排序无法正常工作。只显示0

  26. 26

    当'0'存在时,MySQL ORDER BY无法正常工作

  27. 27

    保证金0自动无法正常工作

  28. 28

    Openssl函数无法正常工作,没有返回0

  29. 29

    在vim regexp替换中submatch(0)无法正常工作吗?

热门标签

归档