【问题标题】:equalTo is not working for FirebaseequalTo 不适用于 Firebase
【发布时间】:2016-02-25 18:43:14
【问题描述】:

我对 Firebase 有疑问;我正在尝试用 javascript 检索我的所有帖子,这些帖子以正确的语言“发布”并按发布日期排序。

我的 Firebase 数据库是这样的:

{
posts:
  uuid:
    images: object
    options: 
      en: 
        status: "Published"
        date: "Thu Feb 18 2016 16:49:58 GMT-0500 (Eastern Standard Time)"
      es: 
        status: "Draft"
}

每个对象都是相似的。

我为此尝试过的查询是:

fireBase.child('posts').orderByChild('en/status').equalTo('Published').once('value', function( snapshot ){ 
  console.log( snapshot.val() ); 
});

但是快照是null。即使我在多个帖子中的状态为已发布

所以我的第一个问题是,我什至无法使用此查询或我尝试过的其他查询来获取我的帖子。

我的第二个问题是,在我请求发布状态后,我不知道如何通过“en/date”订购,如果我尝试添加另一个 .orderByChild() 它说我只能有一个。

非常感谢您的帮助。

【问题讨论】:

  • 我认为你错过了一个级别 - /options/en/status 怎么样。如果 en: 和 es: 是 uuid 的孩子,那么您发布的内容将起作用。
  • 感谢@Jay 成功了!正如我可以说的那样,例如 orderByChild('status') 没有指定 optionsen 我虽然可以为 'en/status' 做同样的事情。
  • 太棒了!因为它解决了这个问题,所以我会做一个答案。如果没关系,请接受它,因为它是很多人忽略的。

标签: javascript node.js firebase


【解决方案1】:

我认为您缺少一个级别 - /options/en/status 怎么样。

如果 en: 和 es: 是 uuid 的子级,您发布的内容会起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    • 2019-05-31
    • 2017-07-16
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多